Session ID + Integration in die eigenen Programme

Hallo Thomas,

ich würd Dir ja gerne weiterhelfen, aber Du sagst leider nicht, woran es scheitert.

Wir haben dir jetzt beide auf seine Weise detailliert den Weg aufgezeigt wie du Schritt für Schritt an die SessionID kommst.

An welcher Stelle hakt es denn? An der Syntax von C oder C++ selber oder an dem Verständnis wie Du was machen mußt?

Happy computing!
R@iner
 
Hallo Ihr Beiden,
passt schon. Ihr habt mir wirklich sehr geholfen, es scheitert an vielen Dingen, bei denen Ihr mir aber nicht wirklich helfen könnt. ;) Ihr könnt z.B. meinen Chef nicht davon überzeugen mir mehr Freizeit zugestehen :). Ich bin Euch Beiden und natürlich auch allen anderen hier sehr dankbar. Mehr Info brauche ich nicht und kann ich auch nicht wirklich erwarten. ;)
Grüße
Thomas
 
Hallo,

Ein Test in C mit der DLL hier dürfte doch kein Problem sein oder?! :confused:

Einige Infos gibt es ab dem Link aus dem Outlook Thread dazu.

Gruß Erwin ;)
 
Hallo Erwin,

das ist auch kein Problem. Ich brauche die Routinen aber in purem C/C++ Code. Weil ich keine DLL's ei setzen kann. Ich werde heute Abend mal versuchen etwas Zeit zu finden, dann schauen wir mal wie weit ich komme. ;)
Der Link welchen Du mir geschickt hast, ist sehr gut. Daran bin ich gerade dran.
Grüße
Thomas
 
Wie schon gesagt, sag wo Du Probleme hast, dann versuchen wir das zu lösen. Geh es Stück für Stück durch und schau dir die Zwischenergebnisse an.

Ich seh noch keinen Vorteil von der DLL-Geschichte. Das sollte sich doch in C/C++ auch so machen lassen. Zumal Dein Zielsystem ja eh ne andere Architektur ist, wenn ich das richtig verstanden habe.

Happy computing!
R@iner

PS: In einem anderen Forum hab ich gelesen, daß jemand über das Senden der Seitenaufrufe via GET gefallen ist, wobei es via POST gesendet werden muß.
 
Die DLL ist nur mal als Test gedacht, wenn man sich
nicht selbst eine Routine schreiben möchte, ich setzte
eine DLL auch nur ein, wenn ich keine andere Wahl habe,
da es immer wieder ab und zu Probleme unter Windows gibt,
was unter W2k geht muss nicht gleich unter Wxp gehen usw.

Gruß Erwin ;)
 
Hallo,

mit interesse verfolge ich schon eine Weile diesen Thread.
Ich selbst programmiere ebenfalls eine Anwendung (C#) für meine Fritzbox.
Muss mich jetzt ebenfalls auch mit dem Thema SessionID beschäftigen. Bisher war es kein Problem.

Jedoch habe ich beobachtet, das der Login mittels Session bei mir nicht immer funktioniert. Mal funktionierts, mal wieder nicht (nicht genau reproduzierbar für mich). Die Response wird augenscheinlich korrekt generiert, sonst würde der Login ja nie funktionieren. Auch wenn ich wie in der PDF von AVM beschrieben den Response von 1234567z-MD5<1234567z-äbc> generiere, bekomme ich die selbe Response raus wie in eben der PDF.

Gibt es bei dem Login vielleicht noch irgendwas anderes zu beachten ?

Zuerst rufe ich die login_sid.xml auf, schaue ob diese existent ist, und ob das Passwort verlangt wird. Wird kein Passwort benötigt so kann ich die SID direkt auslesen. Wird doch ein Passwort benötigt, hole ich mir die Callenge und bastel mir daraus den Responsestring. Melde mich dann auf der Seite "../html/de/menus/menu2.html" an und beziehe von dort (So der Login funktioniert dort die SessionID.

Zum Schluss muss ich dann schauen, das ich die Session ordentlich beende (Logout) bzw ablaufen lasse bzw. sie verlänger, je nachdem.
 
Hast Du daran gedacht, daß alle unicode code character > 255 in einen "." umgewandelt werden müssen?

Happy computing!
R@iner
 
[Edit frank_m24: Sinnfreies Vollzitat gelöscht, siehe Forumregeln.]

Diese Seite berechnet den hash genau so wie es im Beispiel von AVM angegeben ist, wenn man die Hex-Zeichenkette im Feld "Binary Hash" eingibt. Gibt man aber diese Zeichenkette im Feld "string hash" kommt was anderes raus. wie soll ich jetzt ein Hash berechnen, wenn die mir bekannten Algorithmen nur nach der "string hash" - methode rechen? Ich versuche es mit Javascrpit zu implemetieren. Hier kann man es ausprobieren: http://aktuell.de.selfhtml.org/artikel/javascript/md5/#a5 vorher noch die Leerzeichen entfernen und Buchstaben klein schreiben.
 
[Edit frank_m24: Sinnfreies Vollzitat vom Beitrag direkt darüber gelöscht, siehe Forumregeln.]

Hallo ich glaube ich habe mich falsch ausgedrückt. Wie man md5 in Javascript berechnet ist mir bekannt und entsprechende Funktion habe ich schon gefunden, allerdings bekomme ich nicht das was ich will.
Nehmen wir an ich habe folgendes text-String: "1234567z-äbc"
das wandle ich in UTF16-LE (Hex) um und bekomme sowas raus: 31003200330034003500360037007a002d00e40062006300
Wenn ich jetzt davon auf dieser http://www.fileformat.info/tool/hash.htm?hex=31003200330034003500360037007a002d00e40062006300 Seite md5 berechne (binary Hash), dann bekomme ich dafür folgende Zeichenkette raus:
9e224a41eeefa284df7bb0f26c2913e2
Genau die gleiche Zeichenkette steht bei AVM im Dokument. Berechne ich den Hash mit mir bekannten Funktionen (siehe vorheriger Post) kommt als Ergebnis dieser Hash raus:
93d024706923804409f8bcec11d0f493
Auf der Seite www.fileformat.info kann man entweder "String Hash" oder "Binary Hash" berechnen. Alle mir zur Verfügung stehende Implementierungen von MD5 arbeiten nach der "String Hash"-Methode, ich kann also nicht angeben, im welchen Format meine Daten vorliegen, deshalb meine Frage wie kriege ich es hin, dass der md5-hash nach der "Binary-Hash"-Methode berechnet wird?
 
Hallo,

Benutze die md5.js aus dem Link hier, und bennene in der md5.js
in der Zeile
Code:
var chrsz   = 8;  /* bits per input character. 8 - ASCII; 16 - Unicode      */
MD5(1234567z-äbc) = f2e389d88b47eb020d46b647dc1d72dd

um zu
Code:
var chrsz   = 16;  /* bits per input character. 8 - ASCII; 16 - Unicode      */
MD5(1234567z-äbc) = 9e224a41eeefa284df7bb0f26c2913e2

dann geht das mit dem aufruf von hex_md5(str) in java

Gruß Erwin
 

Anhänge

  • md5_Test_java.zip
    3.9 KB · Aufrufe: 46
Super, genau das habe ich gesucht. Ich konnte zwar mein Problem auf eine andere Wiese lösen, aber diese Methode ist viel komfortabler und schneller.
 
Hallo,

Die md5.js Datei kommt doch bei AVM mit der Änderung die
ich geschrieben habe zum einsatz, schau doch einfach mal in
den Temp Ordner beim IE da ist die md5.js zu finden.
Habe es vorhin mal bei einer FB 7270 überprüft, bei einem Bekannten,
da ich die Box ja selbst nicht habe.

Gruß Erwin
 
[Edit frank_m24: Sinnfreies Vollzitat vom Beitrag direkt darüber gelöscht, siehe Forumregeln.]

Danke Erwin

Diese Datei benutzte ich jetzt in meinem Projekt. Vorher hatte ich eine andere Funktion für die Berechnung des md5 Hashes und da musste ich zuerst umständlich "Challenge + Passwort" in UTF-16LE Format umrechnen, JavaScript bittet leider keine fertige Fuktion dafür wie z.B in PHP (mb_convert_encoding)

Gruß Stanislav

PS: Es handelt sich um ein Projekt für Mac OSX, daher hab ich kein IE :) Es ist ein Widget welches die letzten Anrufe der Fritz!Box im Dashboard (ähnlich wie Sidebar unter Vista) anzeigt.
 
Zuletzt bearbeitet:
Schau dazu mal in den Temp Ordner des IE da findet sich so einiges,
so wie das hier:
Code:
function makeDots(str) {
var newStr = "";
for (var i = 0, len = str.length; i < len; i++) {
if (str.charCodeAt(i) > 255) {
newStr += ".";
}
else {
newStr += str.charAt(i);
}
}
return newStr;
}
function setResponse(pw) {
var challenge = "7050b455";
var str = challenge + "-" + makeDots(pw);
var response = challenge + "-" + hex_md5(str);
var frm = document.forms["uiPostForm"].elements["login:command/response"];
frm.value = response;
frm.disabled = false;
}

als Beispiel. :confused: ;)

Du kannst ja auch im Browser den Seiten Quelltext anschauen.

Gruß Erwin

PS: Bitte keine Full Zitate mehr.
 
Problem mit meinem .NET-Code

Hallo,
offensichlich ist dies hier wohl der richtige Platz für mein SID/VB.NET Problem. Mein derzeitiger Code führt in ein Timeout, vorher habe ich nur Fehlerseiten erhalten. Der Post dazu liegt wohl im falschen Subforum:

http://www.ip-phone-forum.de/showthread.php?t=222043

Die hier kursierende FBSIDIO.dll habe ich probiert, sie führt bei mir (unter Visual Web Developer 2008, Windows 7 32bit, VB.NET) zu einer Fehlermeldung, offensichtlich versucht die DLL auf geschützten Speicher zuzugreifen.

Ich bin für jeden Hinweis dankbar.

Gruß Thorsten
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.