Seite 1 von 1

Verfasst: 26.01.2008, 11:57
von mirko
Niemals das ist viel zu aufwändig. Hat man keine Chance den Router zu erfassen.

Verfasst: 25.01.2008, 15:58
von Gabro
Kurze Beschreibung des Algorithmus.

1. Konvertiere die Bytefolge von [data] in eine Hexadezimale-String-Sequenz.

2. Wenn das eingegebene Passwort weniger als 16 Zeichen enthällt, so fülle das Passwort mit den Unicode-Zeichen an der Adresse 1 bis das Passwort 16 Zeichen lang ist.

3. Verbinde das String aus Teilaufgabe 1 mit dem aus Teilaufgabe 2.

4. Wenn nun der String aus Teilaufgabe 3 weniger als 63 Zeichen hat, so fülle dieses String mit den Unicode-Zeichen an der Adresse 1, bis das String 63 Zeichen enthällt.

5. Wenn sich der Admin einlogt, so hänge an den String aus Teilaufgabe 4 einmal das Unicode-Zeichen mit der Adresse 1 an. Wenn sich ein User anmeldet, so hänge an den String das Zeichen \'U\'.

6. Bilde MD5 vom String aus Teilaufgabe 5.

7. Verbinde String aus Teilaufgabe 1 mit dem String aus Teilaufgabe 6.

8. Konvertiere String aus Teilaufgabe 7 in ein Byte-Array

9. Verbinde \"post_login.cgi?data=\" mit dem Array aus Teilaufgabe 8 und sende es an den Router. Das Array wurde zuvor mit convertToBase64() konvertiert.

Kann man sowas in ein Anmeldestring packen?

Verfasst: 25.01.2008, 11:03
von mirko
In dem Fall kann man den Router nicht erfassen. Du müsstest anschauen wie die Verschlüsselung im JavaScript gemacht wird, ist es MD5, dann kann man vielleicht etwas mit der MD5PasswordU() oder MD5PasswordL() machen (Erklärung MD5PasswordX() in der Anleitung zum Editor).

Verfasst: 24.01.2008, 21:59
von Gabro
Ich habe mir das Tutorial für das erstellen eines neuen Routers angesehen und soweit verstanden. Auch das Programm Live HTTP headers habe ich installiert und benutzt.

Nun habe ich ein Problem. Der Router D-Link DIR-635 braucht einen Anmeldestring in dieser Form

<POST>post_login.cgi?data=CMhh_5vs.dpFnGAbNRt0hKw7TVf.

oder

<POST>post_login.cgi?data=t52f7bu5kNMSdG8bsubaKtvn2ib.

Wie man schon sieht wird der Inhalt der data-Variable generiert, nämlich mit einem Java-Script. Der Quellcode scheint Username und Passwort zu verbinden und zu verschlüsseln. Bei jedem Login sieht der Inhalt von data anders aus.

Ich hätte keine Probleme damit jetzt ein Programm zu schreiben der diese Generierung vornimmt, allerdings habe ich keine Ahnung wie ich diesen Algorithmus in ein Anmeldestring packen soll.

Hat jemand eine Idee ob und wie man Methoden von Java innerhalb eines Anmeldestrings aufrufen kann?

Sind sowas wie Schleifen in einem Anmeldestring möglich?