Ein Ausdruck des Beitrags mit 34 Antworten ergibt bei 3 Antworten pro Seite ca. 12 DIN A4 Seiten. Das entspricht bei 80 g/m² ca. 59.88 Gramm Papier.
-- Veröffentlicht durch MilleniumEli1 am 10:34 am 29. Feb. 2004
mmm, ich habe beim besten willen keine ahnung wie es gehen soll! das einzige was ich mir vorstellen kann ist mit telnet oder ssh zu connecten. ssh port ist auch offen, aber da muss dir auch erstmal nen username und pw zukommen... weiss nicht so genau :noidea:
-- Veröffentlicht durch nubbi am 21:17 am 27. Feb. 2004
nabend :D hab bei lvl 8 net mehr weiter gemacht ^^ mach ich vielleicht heut abend mal ;) hab level 7 mit PuTTY gemacht. das is sozusagen ein telnet-client in gut und mit mehr funktionen :) aber darum ging es ja ;) bei 8 schon was rausbekommen? nubbi
-- Veröffentlicht durch MilleniumEli1 am 18:02 am 26. Feb. 2004
sauber :) das mit dem codieren war ja wohl assi ;) level 7 hab ich auch geschafft, auch wenn etwas unprofessionell via telnet ;) aber lvl 8 scheint hart zu sein! schon ne idee wie man das anstellen könnte?
-- Veröffentlicht durch nubbi am 19:38 am 25. Feb. 2004
hmmm a=0; b=1? :noidea: oder andersrum?! vielleicht sind das binärzahlen da käme dann das hier raus: Code(USERNAME) 00011 00000 00001 01101 01011 00001 (PASSWORD) 00100 01100 00010 10000 10110 01110 10010 01000 01101 01100 10000 00000 10100 01001 10001 (PAGE) 10101 00101 01001 01101 00111 00010 | in dezimal wären das dann:
Code3 0 1 13 11 1 4 12 2 16 22 14 18 8 13 12 16 0 20 9 17 21 5 9 13 7 2 | äädit: meinst du B*C*N**N is ein eigenname? also, dass n paar buchstaben rausgenommen wurden, damits nich zu einfach wird? :noidea: (Geändert von nubbi um 20:15 am Feb. 25, 2004) edit2 das sähe doch mal gut aus (Geändert von nubbi um 20:22 am Feb. 25, 2004) edit3: Habs raus :partypeople: (Geändert von nubbi um 20:29 am Feb. 25, 2004) edit4: so, level 7 auch gemeistert, war relativ einfach (spoofing-time:lol:) aber bei level 8 hänge ich jetzt :blubb: (Geändert von nubbi um 21:08 am Feb. 25, 2004)
-- Veröffentlicht durch MilleniumEli1 am 19:04 am 25. Feb. 2004
okay, dann mal zu meinem stand der dinge ;) also das decompilieren geht net, anscheinend weil es gepackt ist. Das prog holt sich anscheinend die infos zum pw checken von http://www.try2hack.nl/levels/level6.data via http aber damit kann ich nicht so richtig was anfangen ;)
-- Veröffentlicht durch nubbi am 18:53 am 25. Feb. 2004
naja, langwierige sache halt :blubb: bin an level 6 dran ;) hm, die exe ist mit irgendwas gepackt :noidea: und es ist weder UPX noch VBShrink (Geändert von nubbi um 18:56 am Feb. 25, 2004) edit: man könnte es mit nem packetsniffer probieren :blubb: hab aber eigentlich keine lust dazu :lol: (Geändert von nubbi um 19:01 am Feb. 25, 2004)
-- Veröffentlicht durch MilleniumEli1 am 18:50 am 25. Feb. 2004
axo! danke ;) aber ist trotzdem schwer rauszufiltern denk ich mal, oder? ich glaub ich muss mich früher oder später mal wieder mit asm beschäftigen ;) wenn du in level 6 fortschritte machst sag mal bitte bescheid ;)
-- Veröffentlicht durch nubbi am 18:44 am 25. Feb. 2004
naja, er legt dann den kompletten zusammengesetzten string (die ganzen Mids) in einem register ab, weil man in assembler immer nur 2 strings vergleichen kann. zum beispiel sieht das dann so aus [API --> Textbox auslesen, wird in eax abgelegt] cmp eax, ebx '[hier wird verglichen] je XXXXXXXXh 'jump if equal erklärung: in eax liegt der string aus der box, in ebx der zusammengesetzte. der befehl cmp vergleicht die register. sind die beiden gleich wird bei befehl je gesprungen. wenn nicht, dann halt nicht. (Geändert von nubbi um 18:45 am Feb. 25, 2004) (Geändert von nubbi um 18:45 am Feb. 25, 2004) (Geändert von nubbi um 18:46 am Feb. 25, 2004)
-- Veröffentlicht durch MilleniumEli1 am 18:39 am 25. Feb. 2004
jo :blubb: aber das hilft in sofern das du das ganze net mehr unterm editor rausfinden kannst. unter editor siehst du nämlich nur die konstanten ;) und die beiden die da auch noch im klartext stehen sind ja fake ;) kann man sowas denn auch wirklich mittem debugger rausfinden? das wird doch super kompliziert mit den ganzen mid befehlen und so, oder? level 6 suckt irgendwie ;)
-- Veröffentlicht durch nubbi am 18:36 am 25. Feb. 2004
habs schon raus :lol: hatte den decompiler gerade gefunden :D besonders der trick mit den konstanten is ja suuuuper :lol: (Geändert von nubbi um 18:37 am Feb. 25, 2004)
-- Veröffentlicht durch MilleniumEli1 am 18:29 am 25. Feb. 2004
echt? das wusst ich aber auch noch net :) ich poste einfach mal den code, dann brauchste net suchen!
Code ' LEVEL5.FRM Option Explicit Sub cmdLogin_Click () If edtUsername = Mid(gc0006, 56, 1) & Mid(gc0006, 28, 1) & Mid(gc0006, 35, 1) & Mid(gc0006, 3, 1) & Mid(gc0006, 44, 1) & Mid(gc0006, 11, 1) & Mid(gc0006, 13, 1) & Mid(gc0006, 21, 1) Then If edtPassword = Mid(gc0006, 45, 1) & Mid(gc0006, 48, 1) & Mid(gc0006, 25, 1) & Mid(gc0006, 32, 1) & Mid(gc0006, 15, 1) & Mid(gc0006, 40, 1) & Mid(gc0006, 25, 1) & Mid(gc0006, 14, 1) & Mid(gc0006, 19, 1) Then MsgBox "Level 6 can be found at: " & Left$(gc000A, 37) & Mid(gc0006, 21, 1) & Mid(gc0006, 14, 1) & Mid(gc0006, 29, 1) & Mid(gc0006, 32, 1) & Mid(gc0006, 12, 1) & Mid(gc0006, 14, 1) & Mid(gc000A, 44, 6), 0, "Horray!" End End If End If MsgBox "Invalid username and/or password!", 0, "ERROR!" End Sub Sub Form_Load () Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2 End Sub
|
Code' main.txt - global definitions Global Const gc0006 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.,:;-*+=~|&!_$#@()[]{}<\/>" Global Const gc000A = "http://www.try2hack.nl/levels/level6-ksghvb.xhtml"
|
Code ' Module1 Option Explicit Const c000A = " txtUsername=AlmostAHacker " Const c000E = " txtPassword=ZqrE01A2d "
|
-- Veröffentlicht durch nubbi am 18:20 am 25. Feb. 2004
jo, bin auch grad dabei nach ner seite zu suchen, wo der link mal funzt, damit ich den decompiler runterladen kann :lol: edit: da fällt mir ein: mit dem debugger kann das ja gar net richtig funzen, VB3-Programme werden ja interpretiert und sind keine eigenen programme :ohno: (Geändert von nubbi um 18:24 am Feb. 25, 2004) komm ma bei icq online ^^ (Geändert von nubbi um 18:29 am Feb. 25, 2004) habs raus :lol: (Geändert von nubbi um 18:33 am Feb. 25, 2004)
-- Veröffentlicht durch MilleniumEli1 am 18:18 am 25. Feb. 2004
also das ist in der tat komisch :P ich krieg ja schon bei nem asm code der länger als 5 zeilen ist zu viel. ich bin mir ja nicht sicher ob du damit was finden wirst ;) viel glück :thumb: ich hab das ganze einfach dekompiliert und mir den source angeguckt. dann nen bisschen gesucht, und schwups wars fertig ;)
-- Veröffentlicht durch nubbi am 18:01 am 25. Feb. 2004
ne, ich meine nen richtigen kernel-mode-debugger (softice) und ich kann kein java aber assembler :biglol: is zwar komisch, aber stimmt :lol: lade aber grade nen debugger für vb-anwendungen runter ;) (Geändert von nubbi um 18:01 am Feb. 25, 2004) ich komm damit irgendwie nich klar, dass das ne 16-bit anwendung ist :lol: die waren vor meiner zeit aktuell :lol: ps: klär mich nachher auf, wenn ich es mir zu kompliziert gemacht hab :lol::thumb: (Geändert von nubbi um 18:11 am Feb. 25, 2004)
-- Veröffentlicht durch MilleniumEli1 am 17:59 am 25. Feb. 2004
wie, du kannst kein java aber kannst assembler? oder gibts auch andere debugger? oder meinst du decompiler? :)
-- Veröffentlicht durch nubbi am 17:37 am 25. Feb. 2004
gewusst wie ;) hab leider 0 ahnung von java ;) so, werde jetzt für level5 erstmal den debugger anwerfen ;) nubbi
-- Veröffentlicht durch MilleniumEli1 am 17:25 am 25. Feb. 2004
okay, ich helf noch nen bisschen ;) /* 166*/ infile = new String("level4"); /* 167*/ try { /* 167*/ inURL = new URL(getCodeBase(), infile); } aus der datei hinter dem string "inURL" werden später die daten, also passwort, login, und addresse ausgelesen. der befehl gibt die position relativ zu dem parameter "infile" zurück. oder so ähnlich jedenfalls ;) siehe zeile 166... level 5 war eigentlich recht einfach, aber level6 pack ich irgendwie noch net :)
-- Veröffentlicht durch nubbi am 17:11 am 25. Feb. 2004
keine chance :blubb:
-- Veröffentlicht durch MilleniumEli1 am 16:24 am 25. Feb. 2004
juchuu, endlich hab ichs geschafft ;) danke erstmal für den code. also ich hab mir auch erstmal gedanken über diese seltsame for schleife gemacht (kann nen bissi c++ ;)) aber das ist letztendlich unwichtig! aber der schlüssel steckt in der init. da bekommt der nämlich letztendlich seine daten her! schau mal ziemlich nach unten, vielleicht findestes ja auch noch
-- Veröffentlicht durch nubbi am 16:05 am 25. Feb. 2004
hab mir jeztt nen decompiler für Java-applets gesaugt... das kommt raus:
Code// Decompiled by DJ v3.5.5.77 Copyright 2003 Atanas Neshkov Date: 25.02.2004 16:05:12 // Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version! // Decompiler options: packimports(3) lnc // Source File Name: PasswdLevel4.java import java.applet.Applet; import java.applet.AppletContext; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.net.MalformedURLException; import java.net.URL; import java.util.EventObject; public class PasswdLevel4 extends Applet implements ActionListener { public PasswdLevel4() { /* 17*/ inuser = new String[22]; /* 18*/ totno = 0; /* 19*/ countConn = null; /* 20*/ countData = null; /* 21*/ inURL = null; /* 22*/ txtlogin = new TextField(); /* 23*/ label1 = new Label(); /* 24*/ label2 = new Label(); /* 25*/ label3 = new Label(); /* 26*/ txtpass = new TextField(); /* 27*/ lblstatus = new Label(); /* 28*/ ButOk = new Button(); /* 29*/ ButReset = new Button(); /* 30*/ lbltitle = new Label(); } void ButOk_ActionPerformed(ActionEvent actionevent) { /* 35*/ boolean flag = false; /* 36*/ for(int i = 1; i <= totno / 2; i++) /* 37*/ if(txtlogin.getText().trim().toUpperCase().intern() == inuser[2 * (i - 1) + 2].trim().toUpperCase().intern() && txtpass.getText().trim().toUpperCase().intern() == inuser[2 * (i - 1) + 3].trim().toUpperCase().intern()) { /* 39*/ lblstatus.setText("Login Success, Loading.."); /* 40*/ flag = true; /* 41*/ String s = inuser[1].trim().intern(); /* 42*/ String s1 = getParameter("targetframe"); /* 43*/ if(s1 == null) /* 44*/ s1 = "_self"; /* 45*/ try { /* 45*/ finalurl = new URL(getCodeBase(), s); } /* 49*/ catch(MalformedURLException _ex) { /* 51*/ lblstatus.setText("Bad URL"); } /* 53*/ getAppletContext().showDocument(finalurl, s1); } /* 56*/ if(!flag) /* 57*/ lblstatus.setText("Invaild Login or Password"); } void ButReset_ActionPerformed(ActionEvent actionevent) { /* 62*/ txtlogin.setText(""); /* 63*/ txtpass.setText(""); } public void actionPerformed(ActionEvent actionevent) { /* 68*/ Object obj = actionevent.getSource(); /* 69*/ if(obj == ButOk) { /* 70*/ ButOk_ActionPerformed(actionevent); /* 69*/ return; } /* 72*/ if(obj == ButReset) /* 73*/ ButReset_ActionPerformed(actionevent); } public void destroy() { /* 78*/ ButOk.setEnabled(false); /* 79*/ ButReset.setEnabled(false); /* 80*/ txtlogin.setVisible(false); /* 81*/ txtpass.setVisible(false); } public void inFile() { /* 86*/ new StringBuffer(); /* 89*/ try { /* 89*/ countConn = inURL.openStream(); /* 92*/ countData = new BufferedReader(new InputStreamReader(countConn)); String s; /* 95*/ while((s = countData.readLine()) != null) /* 95*/ if(totno < 21) { /* 97*/ totno = totno + 1; /* 98*/ inuser[totno] = s; /* 99*/ s = ""; } else { /* 104*/ lblstatus.setText("Cannot Exceed 10 users, Applet fail start!"); /* 105*/ destroy(); } } /* 109*/ catch(IOException ioexception) { /* 111*/ getAppletContext().showStatus("IO Error:" + ioexception.getMessage()); } /* 113*/ try { /* 113*/ countConn.close(); /* 116*/ countData.close(); /* 113*/ return; } /* 118*/ catch(IOException ioexception1) { /* 120*/ getAppletContext().showStatus("IO Error:" + ioexception1.getMessage()); } } public void init() { /* 126*/ setLayout(null); /* 127*/ setSize(361, 191); /* 128*/ add(txtlogin); /* 129*/ txtlogin.setBounds(156, 72, 132, 24); /* 130*/ label1.setText("Please Enter Login Name & Password"); /* 131*/ label1.setAlignment(1); /* 132*/ add(label1); /* 133*/ label1.setFont(new Font("Dialog", 1, 12)); /* 134*/ label1.setBounds(41, 36, 280, 24); /* 135*/ label2.setText("Login"); /* 136*/ add(label2); /* 137*/ label2.setFont(new Font("Dialog", 1, 12)); /* 138*/ label2.setBounds(75, 72, 36, 24); /* 139*/ label3.setText("Password"); /* 140*/ add(label3); /* 141*/ add(txtpass); /* 142*/ txtpass.setEchoChar('*'); /* 143*/ txtpass.setBounds(156, 108, 132, 24); /* 144*/ lblstatus.setAlignment(1); /* 145*/ label3.setFont(new Font("Dialog", 1, 12)); /* 146*/ label3.setBounds(75, 108, 57, 21); /* 147*/ add(lblstatus); /* 148*/ lblstatus.setFont(new Font("Dialog", 1, 12)); /* 149*/ lblstatus.setBounds(14, 132, 344, 24); /* 150*/ ButOk.setLabel("OK"); /* 151*/ add(ButOk); /* 152*/ ButOk.setFont(new Font("Dialog", 1, 12)); /* 153*/ ButOk.setBounds(105, 156, 59, 23); /* 154*/ ButReset.setLabel("Reset"); /* 155*/ add(ButReset); /* 156*/ ButReset.setFont(new Font("Dialog", 1, 12)); /* 157*/ ButReset.setBounds(204, 156, 59, 23); /* 158*/ lbltitle.setAlignment(1); /* 159*/ add(lbltitle); /* 160*/ lbltitle.setFont(new Font("Dialog", 1, 12)); /* 161*/ lbltitle.setBounds(12, 14, 336, 24); /* 162*/ String s = getParameter("title"); /* 163*/ lbltitle.setText(s); /* 164*/ ButOk.addActionListener(this); /* 165*/ ButReset.addActionListener(this); /* 166*/ infile = new String("level4"); /* 167*/ try { /* 167*/ inURL = new URL(getCodeBase(), infile); } /* 171*/ catch(MalformedURLException _ex) { /* 173*/ getAppletContext().showStatus("Bad Counter URL:" + inURL); } /* 175*/ inFile(); } private URL finalurl; String infile; String inuser[]; int totno; InputStream countConn; BufferedReader countData; URL inURL; TextField txtlogin; Label label1; Label label2; Label label3; TextField txtpass; Label lblstatus; Button ButOk; Button ButReset; Label lbltitle; } | kann leider kein java ^^ kann nur erkennen, dass das passwort aus dem angegebenen benutzernamen berechnet wird... [glaube ich zumindest:lol:] aber in welcher weise kann ich nicht sagen 8[ nubbi
-- Veröffentlicht durch MilleniumEli1 am 15:53 am 25. Feb. 2004
boah bin ich blöd :) naja, hab halt nie html gemacht ;) level 4 ist irgendwie kacke. hasst dus geschafft nubbi?
-- Veröffentlicht durch nubbi am 23:35 am 24. Feb. 2004
Zitat von Falcon am 23:34 am Feb. 24, 2004 wie umgeh ich denn so einen Schutz wie in level 1 ? Ich kenn da nämlich jemanden der hat ne Internet Seite wo so ein Passwort erfragt wird ....;)
| den quelltext anzeigen :ugly: edit: @level4... aber ich kann kein java :ugly: (Geändert von nubbi um 23:40 am Feb. 24, 2004)
-- Veröffentlicht durch Falcon am 23:34 am 24. Feb. 2004
wie umgeh ich denn so einen Schutz wie in level 1 ? Ich kenn da nämlich jemanden der hat ne Internet Seite wo so ein Passwort erfragt wird ....;)
-- Veröffentlicht durch nubbi am 23:30 am 24. Feb. 2004
Code<script src="JavaScript"></script> | da wird ein javascript aus der datei "JavaScript" geladen (Geändert von nubbi um 23:30 am Feb. 24, 2004) edit: verdammt, für level 4 brauch ich erst die Java VM (Geändert von nubbi um 23:32 am Feb. 24, 2004)
-- Veröffentlicht durch MilleniumEli1 am 23:21 am 24. Feb. 2004
lustige seite :) komm leider bei level3 schon nicht mehr weiter :blubb:`kann mir jemand nen tipp geben für lvl 3?
-- Veröffentlicht durch nubbi am 21:05 am 24. Feb. 2004
Zitat von MisterFQ am 9:29 am Feb. 23, 2004 es gab doch mal so ein spiel hier wo man sich mit passwortabfragen rumschlagen musste, und es darum ging diese zu umgehen, jedes level wurde das schwerer. vielleicht kennt hier noch jemand den link oder benutz mal die suche da gabs hier nen topic für.
| http://www.try2hack.nl nubbi
-- Veröffentlicht durch darkcrawler am 15:24 am 24. Feb. 2004
Zitat von Deep Shadow am 13:11 am Feb. 23, 2004 Deshalb sagte ich auch er solle auf den Link oben gehen, denn da wird erklärt wies mit htaccess geht, immer noch die Sicherste möglichkeit (ich sagte sicherste, ned sicher ;) ) MfG D$.
| jo und htaccess ist eigentlich auch einfach zu realisieren
-- Veröffentlicht durch Daddes am 12:33 am 24. Feb. 2004
Oder man kann einfach die Zielseite nach dem Passwort benennen und einfach drauf weiterleiten
-- Veröffentlicht durch Deep Shadow am 13:11 am 23. Feb. 2004
Deshalb sagte ich auch er solle auf den Link oben gehen, denn da wird erklärt wies mit htaccess geht, immer noch die Sicherste möglichkeit (ich sagte sicherste, ned sicher ;) ) MfG D$.
-- Veröffentlicht durch david am 12:46 am 23. Feb. 2004
Jo geht mit Java aber das knackt sowieso fast jeder Anfänger. ;) David
-- Veröffentlicht durch Blackout am 12:38 am 23. Feb. 2004
naja java ist sehr leicht zu knacken würde da eher zu php tendieren.
-- Veröffentlicht durch MisterFQ am 9:29 am 23. Feb. 2004
mit html kann man keine passwortabfrage bauen. die einfachste möglichkeit ist zb java. damit kommt zb. ein popup in das man das passwort eingeben muss sonst wird man zu einer andern seite umgeleitet. das problem hierbei ist das für jeden der nur 5 cent ahnung davon hat es kein problem sein sollte das zu umgehen. es gab doch mal so ein spiel hier wo man sich mit passwortabfragen rumschlagen musste, und es darum ging diese zu umgehen, jedes level wurde das schwerer. vielleicht kennt hier noch jemand den link oder benutz mal die suche da gabs hier nen topic für. für die schweren java abfragen hab ich damal sauch schon ne halbe stunde oder so gebraucht, also für normal anwender sind die schon recht hinderlich.
-- Veröffentlicht durch Deep Shadow am 22:57 am 22. Feb. 2004
Hi, ich könnt jetzt lang schwallen oder dir raten hier nachzuschaun ;) HTH D$.
-- Veröffentlicht durch JHMaster am 19:06 am 22. Feb. 2004
Wie erstelle ich eine Passwortabfrage mit HTML?? Brauch ich für nen geschlossenen Bereich inner Homepage.
|