Hallo, Gast! Registrieren

Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Nettes Hacker-Spielchen
#16
Zitat:ab1=(ab1==""?""+ab:ab1);
Die Variable ab1 wird ueberhaupt nicht ausgewertet (ist also nicht von bedeutung). Ansonsten verstehe ich den Ausdruck als if (ab1="?"+ab) then ab1:=ab1, daher sowieso schwachsinnig.

Zitat:if (nls.indexOf(tst)>-1)
Wenn der String TST in NSL vorkommt, dann gibt die Funktion indexOf einen Wert groesser gleich Null zurueck. Diese Abfrage ist elementar, denn hier wird ueberprueft, ob der Benutzername und das Passwort richtig angegeben wurden. (ist also als Tip zu verstehen, denn jetzt weisst Du, dass zu dem Zeitpunkt der Abfrage der String NLS Benutzername und Passwort enthaelt)

Zitat:nls+=al.charAt(nr);
NLS wird gesetzt als NLS + das Zeichen im String AL an Stelle NR. Beispiel: NLS="12345", AL="abcde", NR=3 => NSL wird zu "12345d" (Bei Java scheint das erste Zeichen im String den Index 0 zu haben, im Gegensatz zu Pascal, wo es den Index 1 hat)
Antworten
#17
So, hab mich jetzt ohne irgendwelche grossartigen Javakenntnisse bis Level 10 durchgekaempft, ich glaube alles was danach kommt ueberlass ich den Profis, mal soll seine Grenzen kennen. Groesstenteils (bis auf ein paar dann doch relativ einfache Dinger ganz am Anfang) hatte das ganze dann ja auch doch relativ wenig mit Java zu tun, meisten ging es ja eigentlich darum an den Quellcode ranzukommen Smile

Wie gesagt bis einschliesslich 10 kommt man auch als blutiger Noob mit vielleicht mal einem kurzen Blick in ein Java-Tutorial, den entsprechenden Webripping-Progs und Browsern, guter Faehigkeit zum logischen Denken viel Geduld und der Bereitschaft auch mal was daemliches zu probieren.

Vielleicht probier ichs spaeter nochmal weiter...
Antworten
#18
oergs, hab's nicht hingekriegt. Hab mal die Zeilen der Funktion kommentiert, so wie ich die verstehe...wo liegt mein Fehler?

Code:
function ckPwd(){
tst=document.isn.username.value+"-"+document.isn.passwrd.value+"-";  !!tst= "username-passwrd-"!!
ls=document.pd.pe.value; !!ls= 999881643741603838598498816760606041815967!!
a=eval(ls.substring(0,2))-91; !!a= 99-91=8!!
ls=ls.substring(2,ls.length); !!ls=9881643741603838598498816760606041815967!!
 nls="";
flg=0;
ab=eval(ls.substring(0,2))-93; !!ab= 98-93=5!!
while (ls.length>28){    !!While-Schleife die "ls" so lange kuerzt, bis "ls" nur noch 28 Zeichen hat -> 3 Durchgaenge!!
   ab1=(ab1==""?""+ab:ab1);
 oab1=ab1;
 ls=ls.substring(2,ls.length); !! ls=603838598498816760606041815967 (nach 3 Durchgaengen)!!
 for (var i=0;i<ab;i++)
{
nr=eval(ls.substring(0,2))-a;  !!nr1:81-8=73 (= e) nr2:37-8=29 (= i) nr3:60-8=52 (= e)!!
  ls=ls.substring(2,ls.length); !!ls=383898498816760606041815967 (nach 3 Durchgaengen) !!    
nls+=al.charAt(nr); !!nls=eie (jeden Durchgang wird ein Buchstabe hinzugefuegt)!!
   }
   nls=nls+al.charAt(count+11); !!nls=eie103!!  
if (nls.indexOf(tst)>-1){  !! Jetzt kommt hier der Test, aber so wie ich das verstehe muss der String nur in dem Gebilde "username-passwrd-" vorkommen, damit ein OK zurueckgegeben wird, sprich es ist egal wo es steht!!  
ls="";
  flg=1;
    }
 }
if (flg==1){
 tstOk();
 }
Antworten
#19
Shit ich sehe gerade, ich habe die For-Schleife nicht beruecksichtigt und komme jetzt auf "elitefforc103" was wohl am Ende irgendwas mit "eliteforce" ergeben wird, wenn ich denn verstehe wo der Fehler ist. Die Seite fuer 15 kann ich jedenfalls schon anspringen mit dem Teil Uglyl
OK, hab's jetzt mit probieren hingekriegt, aber verstehen warum das so ist tue ich nicht. Wo findet die Trennung zwischen Username und Passwort statt?

EDIT: Klasse, jetzt lese ich im Gaestebuch dahinter, wie einfach das eigentlich war, ein einfaches einfuegen von "alert(nls)" beim Fehlversuch haette gereicht :bash:
Bei 15 bin ich allerdings mit meinem Latein am Ende, von htaccess habe ich null Ahnung.
Antworten
#20
Variable al (mit Hilfslineal)
<span style='font-size:8pt;line-height:100%'><font size=1 face="Courier New">`1234567890-=~!@#%^&*()_+qweifyutop[]QWERTYUIOP{}|oeeiflryt;AASYENDKQ:ajeeurj,./ZXCVBNM<>c?
0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.
0.........1.........2.........3.........4.........5.........6.........7.........8.........9.</font></span>

Variable pe
<span style='font-size:8pt;line-height:100%'><font size=1 face="Courier New">99.98.81.64.37.41.60.38.38.59.84.98.81.67.60.60.60.41.81.59.67</font></span>

Feststellung
PE wird in LS geschrieben, wobei von LS immer die ersten zwei Zeichen benutzt und anschliessend rausgeschnitten werden. Daher habe ich PE schon in Ziffernpaare unterteilt. Werte, die aus LS entnommen werden, kennzeichne ich mit einem (°) dahinter.

Variablen Initialisisierung
tst .... => username-password-
nls .... => (leer)
a ...... => 99°-91 => 8
ab ..... => 98°-93 => 5

aeussere Schleife [1]
Bedingung: Der Rest von LS ist laenger als 28 Zeichen.
Durchlauf: Die ersten zwei Zeilen haben keine Funktion, danach werden zwei Zeichen von LS vorne entfernt. Anschliessend kommt die innere Schleife, und NACH der inneren Schleife wird dem String NLS das Zeichen von AL Index 11 hinzugefuegt => nls=nls+al.charAt(count+11), wobei count IMMER gleich 0 ist. Dieses Zeichen an Index 11 ist (-), da laesst sich also schon was ahnen...

Innere Schleife [2]
Bedingung: Zaehlervariable laeuft von 0 bis AB-1, also von 0 bis 4, also 5 mal durch.
Durchlauf: Es werden zwei Zeichen (also eine Zahl) von LS genommen und nach NR geschrieben. Von NR wird dann noch a (also 8) subtrahiert. NR ist also jeweils die naechste zweistellige Zahl von LS weniger 8. Dieser Wert in NR stellt jetzt einen Index dar, und zwar wird dem String NLS ein Zeichen aus AL mit Index NR hinzugefuegt. Beispiel Dritter Wert von PE (81): NR ist 81 minus 8 = 73. An Stelle 73 in AL steht ein (e). An NLS wird also ein (e) angefuegt. Und der Schritt dieser Art wird also 5 mal durchgelaufen.


Gesamtablauf

Die Variablen werden initialisiert. Dabei werden die ersten zwei zweistelligen Werte aus LS benutzt, wobei aber nur der erste Wert aus LS entfernt wird!

Anschliessend kommt die aeussere Schleife. Die macht jetzt erstmal nichts anderes als LS wieder um zwei Stellen vorne zu kuerzen. Die ersten zwei Werte von PE sind damit schonmal weggefallen.

Jetzt kommt die innere Schleife, die fuenf mal durchlaufen wird. Bei jedem Durchlauf wird der naechste Wert von LS genommen, 8 abgezogen und das Ergebnis dann als Index in AL benutzt, um ein Zeichen an NLS anzufuegen. Da das fuenf mal passiert, hier die ersten Zeichen:

1. 81-8 = 73 => AL[73] => e
2. 64-8 = 56 => AL[56] => l
3. 37-8 = 29 => AL[29] => i
4. 41-8 = 33 => AL[33] => t
5. 60-8 = 52 => AL[52] => e

NLS ist zu diesem Zeitpunkt schonmal (elite). Anschliessend wird ein Minus angefuegt und die aeussere Schleife erneut aufgerufen (LS ist momentan "3838598498816760606041815967 ", was 29 Zeichen sind) womit das gleiche Spielchen weitergeht.

1. 38-8 = 30 => AL[30] => f
2. 59-8 = 51 => AL[51] => o
3. 84-8 = 76 => AL[76] => r
4. 98-8 = 90 => AL[90] => c
5. 81-8 = 73 => AL[73] => e

Wieder ein Minus drangehaengt und NLS ist jetzt (elite-force-). Da LS jetzt nur noch aus (6760606041815967 ) besteht, was 17 Zeichen sind (auf das Leerzeichen achten!), ist die aeussere Schleife beendet.

NLS ist also (elite-force-) und jetzt passiert folgendes:
Es wird der Index ermittelt, an welcher Stelle in NLS (elite-force-) unser TST (username-password-) vorkommt. Kommt es nicht vor, so wird -1 von der Funktion uebergeben, daher die Abfrage indexOf>-1. Ich denke mal, dass der Fall jetzt klar ist. Smile

EDIT: Jetzt hab ich so lange geschrieben, dass Du die Loesung schon selber gefunden hast...
Antworten
#21
Die Passwortdatei ist uebrigens "htpasswd" (Standard ist eigentlich mit nem Punkt davor) oder so aehnlich betitelt.

EDIT: Jaja, alert(nls). Das sind die Leute, die vielleicht billig cracken koennen. Schoener ist es natuerlich, wenn man das ganze richtig analysiert hat, da kann man dann nen Keygen schreiben. Uglyl Smile
Antworten
#22
Feltzkrone schrieb:EDIT: Jetzt hab ich so lange geschrieben, dass Du die Loesung schon selber gefunden hast...
*g* Die Muehe hat sich trotzdem gelohnt, denn jetzt habe ich verstanden, wie die - zustandekommen. Ich dachte das "al.CharAt(count+11)" zaehlt die Zeichen die in "al" vorhanden sind und rechnet 11 obendrauf, daher kam ich auf diese 103. Dass "count" ja eine Variable ist, hatte ich voll uebersehen Smile

Bei dem htaccess weiss ich nichtmal, wie ich an die Passwortdatei rankommen kann, da ich keinen Zugriff auf das Verzeichnis der Website kriege.
Antworten
#23
Die Datei ist ein Verzeichnis drueber. Ich glaube ...blabla.../http-auth/htpasswd.
Antworten
#24
Mit welchem Programm hast du das denn gemacht? Ich kriege lediglich Zugriff auf eine "fleet.gif" und "index.html". Andere Files oder Verzeichnisse werden bei mir gar nicht aufgelistet Huh
Antworten
#25
Nicht auflisten. Direkt auf <a href='http://safeurl.de/?http://www.stud.uni-hannover.de/~dressler/html_auth/htpasswd' target='_blank'>http://www.stud.uni-hannover.de/~dressler/...l_auth/htpasswd</a> gehen, die Datei ist naemlich nicht geschuetzt (was nicht realistisch ist). Auflisten konnte man die nicht, das kann man nur durch Ausprobieren herausfinden. Um das Passwort zu entschluesseln gibt es z.B. das Tool John The Ripper (waer ich selbst nie drauf gekommen, hab ich irgendwo gefunden).
Antworten
#26
Hm, also John the Ripper spuckt bei mir nur Bloedsinn aus. Sehe ich das richtig, das der Username mit "delta" unverschluesselt ist? Das Programm spuckt mir immer irgendwelchen Quatsch aus wie:

guesses: 0 time: 0:00:00:05 (3) c/s: 65275 trying: mildcys - counchy
guesses: 0 time: 0:00:00:43 (3) c/s: 132500 trying: couscca - mcbuqan
flyer (delta)
guesses: 1 time: 0:00:00:50 (3) c/s: 135628 trying: wm3m - f2123
Antworten
#27
Und dann schau mal, was links neben delta steht. Smile
Antworten
#28
oehmja Pfeif

Was zum Henker soll denn 16 sein? :80:
Antworten
#29
OK, bin durch, aber gibt's auch 'ne Moeglichkeit 16 einfacher zu loesen, als durch probieren, welcher Buchstabe was sein koennte?
Antworten
#30
ihr habt definitif alle viel zu viel zeit!!! Smile
I hate my flesh.
It's dimension poisoned my soul with doubt.
It made me question the essence of the "I".
Antworten


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste