PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie man verschlüsselte Websites knackt



HurricanX
05.10.2004, 20:16
Wer sich öfter mal den Quelltext anschauen will, ist bestimmt schon auf Scripts gestoßen, die kein Kontextmenü erlauben. Das gibt es mittlerweile relativ oft, deshalb fangen wir damit mal an. An den Quelltext solcher Seiten zu kommen ist relativ einfach. Wenn es sich nicht um ein Frameset handelt, kann man den Source einfach über Anzeige > Quelltext ansehen. Oft gibt es dann aber auch noch Framesets. Dort macht man es genauso, bloß bekommt man dann einen Quelltext wo nochmal die Adressen der Frames drinstehen. Dann muss man diese im Browser angucken und davon den Quelltext wieder über Anzeige > Quelltext ansehen. Manchmal gibt es aber Scripts, die ein Anzeigen der Seite ohne Frameset verhindern. Um das zu umgehen, kann man entweder JavaScript deaktivieren oder man gibt die Adresse der Seite einfach in einen Downloadmanager ein. Danach kann man sie ganz normal von der Festplatte öffnen ;) Nun gibt es aber auch Programme, die den Quelltext (vielmehr den <body>-Abschnitt) kodieren (um mal einige zu nennen: HTML Guard - www.aw-software.de, HTML Protect - www.urcool.cc, HTMLCrypta - von mir *g*) Aber auch diesen Schutz kann man ganz leicht umgehen, EXTREM leicht! Ich möchte es einmal an einem Beispiel zeigen. Ich habe hier folgenden Text mit meinem HTMLCrypta verschlüsselt:

das ist ein test!

viel spa&szlig;!!

Dabei kam folgendes Ergebnis raus:

<script language="javascript" type="text/javascript"><!--
var i="";function q(a){var u=0,z="",l=0,x="",y=1,o="yeOhGYutÜ%7q_o>ÖPvfM+!-/ÄbB(ük05@AQRXx,
igJUF.lß9DH=CK8<WzcSms?TIa;*";for(u=0;u<a.length;u++)

{z=a.charAt(u);l=o.indexOf(z);if(l>-1){l-=y;if(l<0){l+=o.length;}x+=o.charAt(l);}else{x+=z;}}i+=x;}
q("d;?qg?ÜqOgnqWBÖÜO?Ü-WÄBÖWBrÖ\nWgÖfgOßq?p;&?cßgJ*--WÄgÖ\n");
document.writeln(i);
</script>

Sowas findet man dann auch in verschlüsselten Seiten. Wir könnten jetzt einen Entcrypter programmieren, aber das wäre viel zu umständlich, da sich Zahlen und sogar Variablen- und Funktionsnamen jedesmal ändern. Es geht viel, viel einfacher. Wir sehen, dass ganz am Schluss der Inhalt einer Variable geschrieben wird. Nun fügen wir einfach eine Zeile vor dem document.writeln(irgendwas) und eine danach ein, so dass es wie folgt aussieht (das i variiert natürlich):

document.writeln("<textarea rows=33 cols=100>");
document.writeln(i);
document.writeln("</textarea>");

Dann speichern wir die Seite (auf der Festplatte natürlich). Wenn wir die Seite jetzt öffnen, sehen wir eine große Textbox mit dem entschlüsselten Quelltext - wir haben den Schutz sozusagen mit seinen eigenen Mitteln geschlagen, da die Entschlüsselungsroutine ja schon dabei ist. Wir haben es bloß so abgeändert, dass der Quelltext nicht vom Browser ausgewertet wird (und die Seite angezeigt wird), sondern dass der Quelltext unverändert in einer Textbox ausgegeben wird.

So, nun wisst ihr, wie man einen solchen Schutz umgeht. Ich möchte aber darauf hinweisen, dass man dies in der Praxis nicht anwenden sollte (mache ich auch nicht), denn die Webmaster hatten viel Arbeit mit der Seite und man kann das nicht einfach klauen. Ich (und ich bin sicher, euch geht es genau so) will, insbesondere wenn ich meine Seite verschlüssele, nicht, dass Codediebe meinen Code klauen. Wenn man an einem kleinen Codeschnippsel interessiert ist, sollte man den Webmaster fragen, ob man den Code vielleicht bekommen kann (je nach dem, um was es sich handelt, muss man natürlich einen Vermerk auf den Autor anbringen) oder man fragt einfach in entsprechenden Foren, ob jemand helfen kann (z.B. bei www.spotlight.de). Könnte durchaus auch sein, dass man sich dadurch strafbar macht, weiß ich aber nicht genau. Jedenfalls würde ich euch raten, es in der Praxis nicht anzuwenden. Ich wollte damit nur zeigen, dass es für HTML-Seiten keinen Schutz gibt (der Browser muss die Seiten ja schließlich auch verstehen).


Von: -=MeL=- ++ www.lysias.de ++ mel@lysias.de