Bio: Code geknackt. Nennt mich Hacker ;-)

Beitrag lesen

Sup!

Diese "Quelltextverschluesselung" ist leicht zu brechen.
Kleiner  Quellcodeausschnitt gefaellig?

(Posting geht unten weiter...)

<!-- o*759tw*AQ6R5ww*sn&%xdtB7ZwhT482qCOv#myX4mWwAyyk*&b$TdswkrUaU2OamcIk5qos3ZCvBJFmRqu%A4Thdh2%LtsDBvQ4OT$XSfxAi4+U2rAGwIUOgLwkcwOw3Q2sat4TYpK63v128OvxAqtqWOom9HSwIN00keTGcbC*eTTipsDS%TFwO**om2IQzzB5Ad$ncst3e5S5cRm2fR82nOmzyCBEOov8U4OkT&gm8%Se$2bO1&wLeCwvM -->
<center><form action=http://search.yahoo.com/bin/search name=f><map name=m><area  coords=0,0,52,52 href="http://www.yahoo.com/r/c1" shape=RECT><area  coords=53,0,121,52 href="http://www.yahoo.com/r/p1" shape=RECT><area
 coords=122,0,191,52 href="http://www.yahoo.com/r/m1" shape=RECT><area  coords=441,0,510,52 href="http://www.yahoo.com/r/wn" shape=RECT><area  coords=511,0,579,52 href="http://www.yahoo.com/r/i1" shape=RECT><area
 coords=580,0,637,52 href="http://www.yahoo.com/r/hw" shape=RECT></map><img alt=Yahoo border=0 height=53 src="m5v5.gif" useMap=#m width=638><br><table border=0 cellPadding=3 cellSpacing=0 width=640>
 <tbody> <tr> <td align=middle width=205><a href="http://www.yahoo.com/s/1002"><b>Yahoo!  Travel</b></a><br><small><a href="http://www.yahoo.com/s/1003">Air</a>, <a
 href="http://www.yahoo.com/s/1005">Hotel</a>, <a  href="http://www.yahoo.com/s/1006">Vacations</a>, <a  href="http://www.yahoo.com/s/1007">Cruises</a></small></td>
 <td align=middle><a  href="http://rd.yahoo.com/M=131860.1563930.3123071.220161/D=yahoo_top/S=2716149:NP/A=767420/?http://latingrammy.yahoo.com"  target=_top><img alt="win trip to Latin Grammys" border=0 height=33
 src="hp_english3.gif" width=230></a></td> <td align=middle width=205><a  href="http://rd.yahoo.com/M=173940.1568805.3123678.31281/D=yahoo_top/S=2716149:NE/A=768170/R=0/*http://shop.store.yahoo.com/cgi-bin/clink?esteelauder2+shopping:dmad/M=173940.1568805.3123678.31281/D=yahoo_top/S=2716149:NE/A=768170/R=1/998250515+http://us.rmi.yahoo.com/rmi/http://www.esteelauder.com/rmi-framed-url/http://www.origins.com/wn/2001-08pwsamples.tmpl%3FAD_ID=1200"><b>Free
 Sample With</b><br><small>Purchase At Origins</small></a></td></tr> <tr> <td align=middle colSpan=3><input name=p size=30> <input type=submit value=Search> <a
 href="http://www.yahoo.com/r/so">advanced search</a></td></tr></tbody></table><table border=0 cellPadding=3 cellSpacing=0 width=640> <tbody> <tr> <td align=middle noWrap><font color=#ff0020>new!</font>     <a
 href="http://www.yahoo.com/s/1052"><b>Yahoo! Fantasy Football</b></a> -  sign up today for the 2001 season     <font  color=#ff0020>new!</font></td></tr>

<tr> <td align=middle noWrap><small><b>Shop</b>  <a  href="http://www.yahoo.com/r/a2">Auctions</a> · <a  href="http://www.yahoo.com/r/cr">Autos</a> · <a
 href="http://www.yahoo.com/r/cf">Classifieds</a> · <a  href="http://www.yahoo.com/r/sh">Shopping</a> · <a  href="http://www.yahoo.com/r/ta">Travel</a> · <a
 href="http://www.yahoo.com/r/yp">Yellow Pgs</a> · <a  href="http://www.yahoo.com/r/mp">Maps</a>   <b>Media</b>  <a  href="http://www.yahoo.com/r/sq"><b>Finance</b></a>/Quotes · <a
 href="http://www.yahoo.com/r/dn">News</a> · <a  href="http://www.yahoo.com/r/ys">Sports</a> · <a  href="http://www.yahoo.com/r/wt">Weather</a><br><b>Connect</b>  <a
 href="http://www.yahoo.com/r/jb"><b>Careers</b></a> · <a  href="http://www.yahoo.com/r/yc">Chat</a> · <a  href="http://www.yahoo.com/r/ub">Clubs</a> · <a
 href="http://www.yahoo.com/r/gc">GeoCities</a> · <a  href="http://www.yahoo.com/r/gr">Greetings</a> · <a  href="http://www.yahoo.com/r/m2"><b>Mail</b></a> · <a
 href="http://www.yahoo.com/r/pf">Members</a> · <a  href="http://www.yahoo.com/r/p2">Messenger</a> · <a  href="http://www.yahoo.com/r/oa">Mobile</a> · <a
 href="http://www.yahoo.com/r/pr">Personals</a> · <a  href="http://www.yahoo.com/r/ps"><b>People Search</b></a> ·

(Sonderzeichen sind ggf. falsch dargestellt, aber was soll's...)
----

Und wie kriegt man das raus?

Nun... einfach verschluesselte Seite runterladen, speichern, in einen Editor der Wahl (vim...) laden, und in den ersten Skriptbereich ganz oben (oder in einen neuen, ganz oben liegenden Skriptbereich) folgendes schreiben:

mw = window.open("about:blank","mywin");
md = mw.document;
md.close();
md.open("text/plain","replace");

optrwr = window.document.write;
optrwrln = window.document.writeln;

function myfuncwr(t) {
window.document.write = optrwr;
window.document.write(t);
md.write(t);
window.document.write = myfuncwr;
}
function myfuncwrln(t) {
window.document.writeln = optrwrln;
window.document.writeln(t);
md.writeln(t);
window.document.writeln = myfuncwrln;
document.writeln = myfuncwrln;
}

document.writeln = myfuncwrln;
document.write = myfuncwr;

Dann ganz unten einen neuen Skriptbereich anlegen und

md.close();

reinschreiben.

Die so manipulierte Seite in den Browser laden, es oeffnet sich daraufhin ein Fenster, und wenn man in dem CTRL-U drueckt, sieht man den entschluesselten Quellcode (bzw., wenn man einen Browser hat, der nicht wie der Mozilla in den HTML-Modus geht, obwohl man text/plain geschrieben hat, sollte man den Quellcode auch so sehen).

Was macht nun das Skript?
Es ueberlaedt die Methoden document.write und document.writeln temporaer, stellt die eigentliche Funktionalitaet aber immer wieder her, so dass sich auch mehrfach rekursiv entschluesselnder Quellcode weiterhin ganz von selbst entschluesselt.
Damit ist die ganze Verschluesselung auf einfache Weise an Ihrer IMHO groessten Schwachstelle gepackt.
Die Webseite entschluesselt sich von selbst, die ganze Verschachtelung, um manuelles Entschluesseln zu Erschweren, ist nutzlos.

Gruesse,

Bio

--
Hail to the king!