Geschrieben von: Christoph Wille
Kategorie: Sicherheit
This printed page brought to you by AlphaSierraPapa
Im Artikel ASP Scripts verschlüsseln habe ich beschrieben, wie man ASP Scripts mittels MS Script Encoder unlesbar machen kann. Ich habe darauf hingewiesen, daß dies nur für den durchschnittlichen Benutzer als Abwehrmittel taugt, nicht aber gegen den, der wirklich den Sourcecode will. Um dieser Warnung Nachdruck zu verleihen, stelle ich heute ein Tool zur Umkehrung der Verschlüsselung vor.
Genauso wie der Autor des Tools möchte ich voranstellen, daß die Verwendung des Tools rein als Demonstration der im Endeffekt untauglichen Enkodierung durch den MS Script Encoder dienen soll. Daß man es nicht zum Knacken anderer Leute Sourcecode verwenden darf, versteht sich wohl von selbst (und ich als Autor des Artikels nicht für Ihre Aktionen verantwortlich bin).
Sehen wir uns am Anfang als kurze Aufwärmübung noch einmal den Script Encoder und seine Verwendung an (Download). Hier ist meine Beispieldatei, die enkodiert werden soll (sample.asp):
<% @Language="VBScript" %> <% Option Explicit Response.Buffer = True Dim nVar, strVar, i nVar = 10 strVar = "Hello World" For i=1 To nVar Response.Write strVar Response.Write "<br>" Next Response.End %>
Nehmen wir an, das wäre so schützenswert, daß es niemand lesen können darf, der am Webserver physikalischen Zugriff auf die Datei hat. Deshalb würde ich es so enkodieren:
screnc /l VBScript sample.asp encoded.asp
Die Ausführung dieses Befehls liefert mir die enkodierte Datei encoded.asp (die zweite Zeile habe ich aus "Lesbarkeitsgründen" umgebrochen):
<% @Language="VBScript.Encode" %> <%#@~^3gAAAA==@#@&r2DkKxPA6ask1kO@#@&@#@&]/wKU/RA!WW+MP{PPD;n@#@&9ks ~xjl.S,/Y.#mDSPb@#@&@#@& .mDP{P8T@#@&/ODjl.~{PJ_nV^WPqG.V9J@#@&@#@ &oGMPr'8~KKPU#mD@#@&~,In/aG /ncMkYPkODjl.@#@&P~]/wKU/RMrO+,J@!4.@*E@#@ &1n6D@#@&"+d2Kx/n Ax[@#@&CDoAAA==^#~@%>
Ausreichend unlesbar für jedermann der nicht viel Zeit investieren will, das zu dekodieren.
Habe ich vorhin etwas von "viel Zeit investieren" geschrieben? Nun, wenn der derjenige weiß welche Tools es am Internet gibt (und Cracker tendieren dazu dieses Wissen zu haben), dann reduziert sich "viel" auf "einige wenige Sekunden". Das Tool von dem ich rede, ist der Windows Script Decoder. Dessen Verwendung ist (leider) genauso einfach wie die des Script Encoders:
scrdec13.exe encoded.asp decoded.asp
Und tatsächlich - der Output ist ein (beinahe) identes Script:
<% @Language="VBScript.Encode" %> <% Option Explicit Response.Buffer = True Dim nVar, strVar, i nVar = 10 strVar = "Hello World" For i=1 To nVar Response.Write strVar Response.Write "<br>" Next Response.End %>
Mit "beinahe" meinte ich, daß man händisch VBScript.Encode durch VBScript ersetzen muß. Ansonsten hält man den originalen Sourcecode in Händen.
Dieser Artikel dient als Warnung, daß die Verwendung des Script Encoders nur eine Maßnahme gegen unbedarfte Kunden sein kann. Einem entschlossenen Angreifer malen enkodierte Dateien im Höchstfall ein mildes Lächeln ins Gesicht. Dies ist wieder einmal der Beweis, daß wenn man "Sicherheitstechiken" einsetzt, man sich auch informieren sollte, was die Gegenseite an Tools zur Umgehung zu bieten hat.
This printed page brought to you by AlphaSierraPapa
Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20011123.zip
ASP Scripts verschlüsseln
http:/www.aspheute.com/artikel/20000510.htm
Kopieren verboten - Lizenzsicherung bei ASP Scripts
http:/www.aspheute.com/artikel/20020411.htm
A mathematical paper demonstrating the impossibility of code obfuscation
http://www.wisdom.weizmann.ac.il/~boaz/Papers/obfuscate.html
Obfuscated-HTML De-obfuscation Tools
http://www.swishweb.com/dec.htm
Script Encoder
http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/msdn-files/027/001/789/msdncompositedoc.xml
Script Encoder Documentation
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/SeconScriptEncoderOverview.asp
Windows Script Decoder
http://www.virtualconspiracy.com/scrdec.html
©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.