Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Entschlüsseln von Logfiles (mit ASP)

Frage Sicherheit Verschlüsselung & Zertifikate

Mitglied: TrEaZeR

TrEaZeR (Level 1) - Jetzt verbinden

24.03.2006, aktualisiert 25.03.2006, 5377 Aufrufe, 1 Kommentar

Da ich kein ASP kann, jedoch Logfiles entschlüsseln sollte die mit einem ASP-Programm verschlüsselt wurden, suche ich Hilfe oder eine Erklärung des Codes.

Hallo,

ich habe von meinem Cheff die Aufgabe bekommen unsere Logfiles auf dem Server zu entschlüsseln (Format der Logfiles ist csv).
Die Logfiles wurden automatisch durch eine ASP-Seite verschlüsselt (Verschluesseln.asp). Leider habe ich Probleme mit dem entschlüsseln, da die Datei "Entschluesseln.asp" nicht richtig funktioniert.

Das weitere Problem ist, dass ich mich mit ASP kaum auskenne. Das Verschlüsselungsprogramm hat ein ehemaliger Mitarbeiter vom Internet bei uns eingebaut, leider steht er für eine Befragung nicht mehr bereit.

Ich wäre dankbar für jede Hilfe, Erklärung oder jeden Vorschlag den ich bekomme.

Hier mal der Quelltext der Dateien:

------------------------Serversidesha1.asp--------------------------

<script language="JScript" runat="server">
/*
*/

/*
    • Convert a 32-bit number to a hex string with ms-byte first
    */
    var hex_chr = "0123456789abcdef";
    function hex(num)
    {
    var str = "";
    for(var j = 7; j >= 0; j--)
    str += hex_chr.charAt((num >> (j * 4)) & 0x0F);
    return str;
    }

    /*
      • Convert a string to a sequence of 16-word blocks, stored as an array.
      • Append padding bits and the length, as described in the SHA1 standard.
    */
    function str2blks_SHA1(str)
    {
    var nblk = ((str.length + 8) >> 6) + 1;
    var blks = new Array(nblk * 16);
    for(var i = 0; i < nblk * 16; i++) blks[i] = 0;
    for(i = 0; i < str.length; i++)
    blks[i >> 2] |= str.charCodeAt(i) << (24 - (i % 4) * 8);
    blks[i >> 2] |= 0x80 << (24 - (i % 4) * 8);
    blks[nblk * 16 - 1] = str.length * 8;
    return blks;
    }

    /*
      • Add integers, wrapping at 2^32. This uses 16-bit operations internally
      • to work around bugs in some JS interpreters.
    */
    function add(x, y)
    {
    var lsw = (x & 0xFFFF) + (y & 0xFFFF);
    var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
    return (msw << 16) | (lsw & 0xFFFF);
    }

    /*
      • Bitwise rotate a 32-bit number to the left
      */
      function rol(num, cnt)
      {
      return (num << cnt) | (num >>> (32 - cnt));
      }

      /*
        • Perform the appropriate triplet combination function for the current
        • iteration
      */
      function ft(t, b, c, d)
      {
      if(t < 20) return (b & c) | ((~b) & d);
      if(t < 40) return b ^ c ^ d;
      if(t < 60) return (b & c) | (b & d) | (c & d);
      return b ^ c ^ d;
      }

      /*
        • Determine the appropriate additive constant for the current iteration
        */
        function kt(t)
        {
        return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 :
        (t < 60) ? -1894007588 : -899497514;
        }

        /*
          • Take a string and return the hex representation of its SHA-1.
          */
          function calcSHA1(str)
          {
          var x = str2blks_SHA1(str);
          var w = new Array(80);

          var a = 1732584193;
          var b = -271733879;
          var c = -1732584194;
          var d = 271733878;
          var e = -1009589776;

          for(var i = 0; i < x.length; i += 16)
          {
          var olda = a;
          var oldb = b;
          var oldc = c;
          var oldd = d;
          var olde = e;

          for(var j = 0; j < 80; j++)
          {
          if(j < 16) w[j] = x[i + j];
          else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);
          t = add(add(rol(a, 5), ft(j, b, c, d)), add(add(e, w[j]), kt(j)));
          e = d;
          d = c;
          c = rol(b, 30);
          b = a;
          a = t;
          }

          a = add(a, olda);
          b = add(b, oldb);
          c = add(c, oldc);
          d = add(d, oldd);
          e = add(e, olde);
          }
          return hex(a) + hex(b) + hex(c) + hex(d) + hex(e);
          }
          </script>



          ------------------------Verschluesseln.asp--------------------------

          <!-- #include file="Serversidesha1.asp"-->
          <%
          Function jInApplicatonSpeichern(j)
          Application.Lock
          Application(Date() & "j") = j
          Application.Unlock
          End Function

          Function intTochar(z)
          'If z > 152 Then Response.Write z
          strint = Chr(z)
          intToChar = strint
          End Function

          Function getj()
          getj = Application(Date()&"j")
          End Function

          Function konvertiereSonderzeichen(intZeichen)
          Select Case intZeichen
          Case 180 '=´
          konvertiereSonderzeichen = 1
          Case 192 '=À
          konvertiereSonderzeichen = 2
          Case 193 '=Á
          konvertiereSonderzeichen = 3
          Case 196 '=Ä
          konvertiereSonderzeichen = 4
          Case 200 '=È
          konvertiereSonderzeichen = 5
          Case 201 '=É
          konvertiereSonderzeichen = 6
          Case 204 '=Ì
          konvertiereSonderzeichen = 7
          Case 205 '=Í
          konvertiereSonderzeichen = 8
          Case 210 '=Ò
          konvertiereSonderzeichen = 9
          Case 211 '=Ó
          konvertiereSonderzeichen = 10
          Case 214 '=Ö
          konvertiereSonderzeichen = 11
          Case 217 '=Ù
          konvertiereSonderzeichen = 12
          Case 218 '=Ú
          konvertiereSonderzeichen = 13
          Case 220 '=Ü
          konvertiereSonderzeichen = 14
          Case 223 '=ß
          konvertiereSonderzeichen = 15
          Case 224 '=à
          konvertiereSonderzeichen = 16
          Case 225 '=á
          konvertiereSonderzeichen = 17
          Case 228 '=ä
          konvertiereSonderzeichen = 18
          Case 232 '=è
          konvertiereSonderzeichen = 19
          Case 233 '=é
          konvertiereSonderzeichen = 20
          Case 236 '=ì
          konvertiereSonderzeichen = 21
          Case 237 '=í
          konvertiereSonderzeichen = 22
          Case 242 '=ò
          konvertiereSonderzeichen = 23
          Case 243 '=ó
          konvertiereSonderzeichen = 24
          Case 246 '=ö
          konvertiereSonderzeichen = 25
          Case 249 '=ù
          konvertiereSonderzeichen = 26
          Case 250 '=ù
          konvertiereSonderzeichen = 27
          Case 252 '=ü
          konvertiereSonderzeichen = 28
          Case Else
          konvertiereSonderzeichen = 29
          End Select
          End Function

          %>
          <script language="JScript" runat="server">

          function lengthErmitteln(str)
          {
          intlength = str.length;
          return intlength;
          }

          function verschluesseln(strUnverschluesselt, strSha1, intlength, j)
          {

          var strVerschluesselt = "";
          for(var i = 0; i < intlength; i++)
          {
          var intZeichen = strUnverschluesselt.charCodeAt(i); es wird Code von Zeichen ermittelt
          if(intZeichen > 152)
          {
          intZeichen = konvertiereSonderzeichen(intZeichen);
          }
          var intSha1 = strSha1.charCodeAt((getj()+i) % 40);
          var intSha1 = strSha1.charCodeAt((j+i) % 40);
          k = i - CInt(i%40)*40;
          var intSha1 = strSha1.charCodeAt(k);


          es wird von jedem Zeichen in strSha1 der Ascii-Wert ermittelt; da der String kürzer als der zu
          Verschlüsselnde ist fängt man bei strSha1 wieder von vorne an wenn das Ende erreicht ist.
          Response.Write("intSha1: " + intSha1 + "
          ");
          Response.Write("j=: " + j + " i = " + i + "
          ");

          if(intZeichen < 30)
          {
          var intVerschluesselt = intZeichen;
          }
          else
          {
          var intVerschluesselt = intZeichen + intSha1;
          }

          strVerschluesselt += intTochar(intVerschluesselt);
          }
          jInApplicatonSpeichern((j+intlength+1) % 40);
          return strVerschluesselt;
          }

          </script>
          <%
          strSha1 = calcSHA1(CStr(Date()))
          response.write "strSha1 = " & strSha1 & "
          "
          intlength = CInt(lengthErmitteln(strUnverschluesselt))
          response.write "intlength = " & intlength & "
          "
          'strVerschluesselt = verschluesseln(strUnverschluesselt, strSha1, intlength, 0)

          strVerschluesselt = verschluesseln(strUnverschluesselt, strSha1, intlength, Application(Date() & "j"))
          response.write "strverschluesselt = " & strVerschluesselt & "
          "
          response.write "appl(date) & J = " & Application((Date() & "j")) & "
          "


          %>


          ------------------------Entschluesseln.asp.asp--------------------------

          <!-- #include file="Serversidesha1.asp"-->
          <%
          Function jInSessionSpeichern(j)
          Session("j") = j
          End Function

          Function vbscriptASC(i)
          i = Asc(i)
          vbscriptASC = i
          End Function

          Function intTochar(z)
          Response.Write z & ", "
          strint = Chr(CInt(z))
          intToChar = strint
          End Function

          Function getj()
          getj = Application(Date()&"j")
          End Function

          Function konvertiereSonderzeichen(intZeichen)
          Select Case intZeichen
          Case 1 '=´
          konvertiereSonderzeichen = 180
          Case 2 '=À
          konvertiereSonderzeichen = 192
          Case 3 '=Á
          konvertiereSonderzeichen = 193
          Case 4 '=Ä
          konvertiereSonderzeichen = 196
          Case 5 '=È
          konvertiereSonderzeichen = 200
          Case 6 '=É
          konvertiereSonderzeichen = 201
          Case 7 '=Ì
          konvertiereSonderzeichen = 204
          Case 8 '=Í
          konvertiereSonderzeichen = 205
          Case 9 '=Ò
          konvertiereSonderzeichen = 210
          Case 10 '=Ó
          konvertiereSonderzeichen = 211
          Case 11 '=Ö
          konvertiereSonderzeichen = 214
          Case 13 '=Ù
          konvertiereSonderzeichen = 13
          Case 14 '=Ú
          konvertiereSonderzeichen = 218
          Case 15 '=Ü
          konvertiereSonderzeichen = 220
          Case 16 '=ß
          konvertiereSonderzeichen = 223
          Case 17 '=à
          konvertiereSonderzeichen = 224
          Case 18 '=á
          konvertiereSonderzeichen = 225
          Case 19 '=ä
          konvertiereSonderzeichen = 228
          Case 20 '=è
          konvertiereSonderzeichen = 232
          Case 21 '=é
          konvertiereSonderzeichen = 233
          Case 22 '=ì
          konvertiereSonderzeichen = 236
          Case 23 '=í
          konvertiereSonderzeichen = 237
          Case 24 '=ò
          konvertiereSonderzeichen = 242
          Case 25 '=ó
          konvertiereSonderzeichen = 243
          Case 26 '=ö
          konvertiereSonderzeichen = 246
          Case 27 '=ù
          konvertiereSonderzeichen = 249
          Case 28 '=ù
          konvertiereSonderzeichen = 250
          Case 29 '=ü
          konvertiereSonderzeichen = 252
          Case Else
          konvertiereSonderzeichen = 63 '->?
          End Select
          End Function
          %>
          <script language="JScript" runat="server">

          function lengthErmitteln(str)
          {
          intlength = str.length;
          return intlength;
          }

          function entschluesseln(strZeileVerschluesselt, strSha1, intlength, j)
          {
          var strEntschluesselt = "";
          for(var i = 0; i < intlength; i++)
          {
          var intZeichen = vbscriptASC(strZeileVerschluesselt.charAt(i)); strZeileVerschluesselt.charCodeAt(i); es wird von jedem Zeichen in
          Response.Write("intZeichen: " + intZeichen + "
          "); strUnverschluesselt der Ascii-Wert ermittelt
          var intSha1 = strSha1.charCodeAt((getj()+i) % 40);

          var intSha1 = strSha1.charCodeAt((j+i) % 40);
          es wird von jedem Zeichen in strSha1 der Ascii-Wert ermittelt; da der String kürzer als der zu
          Entschlüsselnde ist fängt man bei strSha1 wieder von vorne an wenn das Ende erreicht ist.
          Response.Write("intSha1: " + intSha1 + "
          ");
          Response.Write("j: " + j + " i = " + i + "
          ");

          var intEntschluesselt = ""

          if(intZeichen < 30)
          {
          intZeichen = konvertiereSonderzeichen(intZeichen);
          intEntschluesselt = intZeichen;
          }
          else
          {
          intEntschluesselt = intZeichen - intSha1; intSha1 oder 56;
          }
          Response.Write("intEntschluesselt: " + intEntschluesselt + "
          ");
          var z = intTochar(intEntschluesselt);
          Response.Write("z: " + z + "

          ");

          strEntschluesselt += intTochar(intEntschluesselt);
          //Response.Write("strEntschluesselt: " + strEntschluesselt + "
          ");
          }
          jInSessionSpeichern((j+intlength+1) % 40);
          return strEntschluesselt;
          }

          </script>

          <%
          Set fsObj = Server.CreateObject("Scripting.FileSystemObject")

          strQuelleName = Request.QueryString("Logfile")
          strParentFolder = Request.QueryString("LogfilePath") & "\"

          strQuelle = strParentFolder & strQuelleName
          strZiel = strParentFolder & "Entschluesselt" & strQuelleName


          'Response.Write "Quelle: " & strQuelle & "
          "
          'Response.Write "Ziel: " & strZiel & "
          "


          If fsObj.FileExists(strQuelle) Then

          strDatumZeit = Request.QueryString("DatumZeit")
          Response.Write "DatumZeit: " & strDatumZeit & "
          "
          strDatum = Left(strDatumZeit, 10)
          Response.Write "Datum: " & strDatum & "
          "
          strSha1 = calcSHA1(strDatum)
          'strSha1 = calcSHA1(CStr(Date())) 'aus verschlüsseln

          Response.Write "strSha1: " & strSha1 & "

          "

          Set objLogDatei = fsObj.OpenTextFile(strQuelle,1,true)
          Session("j") = 0
          Response.Write "Anfang Session(""j""): " & Session("j") & "

          "

          While Not objLogDatei.AtEndOfStream

          strZeileVerschluesselt = objLogDatei.ReadLine
          Response.Write "strZeileVerschluesselt: " & strZeileVerschluesselt & "
          "
          intlength = CInt(lengthErmitteln(strZeileVerschluesselt))
          'Response.Write "intlength: " & intlength & "
          "
          strZeileEntschluesselt = entschluesseln(strZeileVerschluesselt, strSha1, intlength, Session("j"))
          Response.Write "strZeileEntschluesselt: " & strZeileEntschluesselt & "
          "

          If fsObj.FileExists(strZiel) Then
          Set objLogfileEntschluesselt = fsObj.OpenTextFile(strZiel,8,true)
          Else
          Set objLogfileEntschluesselt = fsObj.CreateTextFile(strZiel)
          End If
          objLogfileEntschluesselt.WriteLine strZeileEntschluesselt
          objLogfileEntschluesselt.Close
          Response.Write "Session(""j""): " & Session("j") & "

          "

          Wend

          objLogDatei.Close
          Else
          Response.Write "Datei existiert nicht."
          End If
          %>



          Ich hoffe mir kann jemand helfen. Da der Quellcode nicht richtig hier dargestellt werden kann, sende ich die Dateien auch gerne zu oder lade sie auf meine Homepage hoch.

          Mit freundlichen Grüßen

          Treazer
Mitglied: gnarff
25.03.2006 um 22:35 Uhr
hallo treazer

habe gerade deine email mit den quellcodes gecheckt, wobei serversidesha1 leider nicht mitgekommen ist.
was du mir da geschickt hast hat aber nichts mit asp.net zu tun und ich bezweifele das dich das weiter bringt.
es ist ja nicht so, das man irgendein cryptoprogramm sich runterlaedt und dann ans entschluesseln geht.
das dateiformat ist csv (comma seperated values), also ein tabellen-datenformat.
du hast geschrieben, dass die daten automatisch durch eine ASP-seite verschluesselt worden sind, was mir unlogisch erscheint. die seite verschluesselt nichts, sondern die anwendung oder das script dahinter.

wenn die dateien unter asp.net verschluesselt worden sind dann solltest du dich mal unter folgendem link dazu einlesen : http://www.microsoft.com/germany/msdn/library/security/ErlebnisseMitDer ...

ich habe den quellcode noch nicht ganz durch, aber ich glaube dass er dir nicht helfen wird bei deinem prob
soweit erstmal...

saludos
gnarff
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Server
IIS für Asp.NET auf Windows 7? (2)

Frage von mabue88 zum Thema Server ...

Batch & Shell
gelöst PowerShell: Logfiles nach der 7ten Version verschieben (3)

Frage von ImmerKind zum Thema Batch & Shell ...

E-Mail
Kopfzeilen einer Mail entschlüsseln (4)

Frage von maniacmacpain zum Thema E-Mail ...

Exchange Server
gelöst Exchange 2010 - Anzahl der Logfiles wächst (1)

Frage von jsysde zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (24)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...