Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs

MS Script Encoder dekodiert

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).

Script Encoder Revisited

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.

Vorhang auf für den Windows Script Decoder

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.

Schlußbemerkung

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

Download des Codes

Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20011123.zip

Verwandte Artikel

ASP Scripts verschlüsseln
http:/www.aspheute.com/artikel/20000510.htm
Kopieren verboten - Lizenzsicherung bei ASP Scripts
http:/www.aspheute.com/artikel/20020411.htm

Links zu anderen Sites

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.