FRITZ!Box 7500 (Anmeldesimulator 2.0 Alpha)
no response
Anmeldung in Plaintext (Bis etwa Fritz!OS 4.70)
- Das Kennwort per POST (
login:command/password=<Kennwort>
) an http://fritz.box/cgi-bin/webcm
schicken
- Eine einfache eindeutige Bestätigung gibt es nicht
Anmeldung mit MD5 Challenge (ab etwa Fritz!OS 4.74 bis Fritz!OS 5.29)
- Zuerst mit GET
http://fritz.box/cgi-bin/webcm?getpage=../html/login_sid.xml
die Challenge anfordern
- In der XML-Datei die Challenge auslesen (z.B.
12345678
)
- Mit der Challenge das Kennwort erweitern (z.B.
12345678-Kennwort
)
- Alle Zeichen die Unicode sind (Also überhalb von ASCII-Zeichen > 255) mit ersetzen (z.B.
1aa2bß3c? => 1a.2b.3c.
)
- Nach JEDES Zeichen ein Nullbyte hinzufügen (z.B.
1 8 - K e n n w o r t
)
- Das ganze mit MD5 Hashen (z.B.
c2e5f1cd27636fead3d069734f577800
)
- Wieder mit der Challenge erweitern (z.B.
12345678-c2e5f1cd27636fead3d069734f577800
)
- Als POST (
login:command/response=12345678-c2e5f1cd27636fead3d069734f577800&getpage=../html/login_sid.xml
) an http://fritz.box/cgi-bin/webcm
schicken und SID anfordern
- In der XML-Datei die SID auslesen (z.B.
0123456789abcdef
)
- Bei JEDEN Request egal ob GET/POST die SID mitschicken (z.b.
http://fritz.box/cgi-bin/webcm?sid=0123456789abcdef
)
- Zwischen zwei Requests darf die Zeitspanne nicht größer als 10 Minuten sein, sonst muss man sich neu anmelden!
- Zum Abmelden einfach per POST das Kommando
security:command/logout
senden (z.B. security:command/logout=1&sid=0123456789abcdef
)
Anmeldung mit MD5 Challenge (ab Fritz!OS 5.30)
- Zuerst mit GET
http://fritz.box/login_sid.lua
die Challenge anfordern
- In der XML-Datei die Challenge auslesen (z.B.
12345678
)
- Mit der Challenge das Kennwort erweitern (z.B.
12345678-Kennwort
)
- Alle Zeichen die Unicode sind (Also überhalb von ASCII-Zeichen > 255) mit ersetzen (z.B.
1aa2bß3c? => 1a.2b.3c.
)
- Nach JEDES Zeichen ein Nullbyte hinzufügen (z.B.
1 2 3 4 5 6 7 8 - K e n n w o r t
)
- Das ganze mit MD5 Hashen (z.B.
c2e5f1cd27636fead3d069734f577800
)
- Wieder mit der Challenge erweitern (z.B.
12345678-c2e5f1cd27636fead3d069734f577800
)
- Als POST (
response=12345678-c2e5f1cd27636fead3d069734f577800
) an http://fritz.box/login_sid.lua
schicken und SID anfordern
- In der XML-Datei die SID auslesen (z.B.
0123456789abcdef
)
- Bei JEDEN Request egal ob GET/POST die SID mitschicken (z.b.
http://fritz.box/?sid=0123456789abcdef
)
- Zwischen zwei Requests darf die Zeitspanne nicht größer als 10 Minuten sein, sonst muss man sich neu anmelden!
- Zum Abmelden einfach per POST das Kommando
security:command/logout
senden (z.B. security:command/logout=1&sid=0123456789abcdef
)
Anmeldung mit pbdkf2 Challenge (ab Fritz!OS 7.25)
- Zuerst mit GET
http://fritz.box/login_sid.lua?version=2
die Challenge anfordern
- In der XML-Datei die Challenge auslesen (z.B.
2$10000$00112233445566778899aabbccddeeff$1000$0f1e2d3c4b5a69788796a5b4c3d2e1f0
)
- Prüfen ob die Challenge mit 2$ beginnt, sonst Fallback zu MD5-Challenge
- Challenge am '$' Zeichen auftrennen und zu ein Array umwandeln (z.B.
{0:2, 1:10000 2:'00112233445566778899aabbccddeeff', 3:1000, 4:'0f1e2d3c4b5a69788796a5b4c3d2e1f0'}
)
- Den Hexwert aus der Challenge-Array[2] in Charcode auflösen
'00112233445566778899aabbccddeeff' zu "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xdd\xee\xff"
- Mit der Funktion
pbdkf2_hmac_sha256(<password>, <salt1>, <iter1>)
das Kennwort Hashen pbdkf2_hmac_sha256('admin123', "\x00\x11\x22\x33\x44\x55\x66\x77\x88\x99\xaa\xbb\xcc\xdd\xee\xff", 10000) -> '2d1ba0cef3c0c812548b52b45f888b375abd4ea29fecb1f3cdc984bc9f603f07'
- Den Hexwert wieder in Charcode auflösen
'2d1ba0cef3c0c812548b52b45f888b375abd4ea29fecb1f3cdc984bc9f603f07' zu "\x2d\x1b\xa0\xce\xf3\xc0\xc8\x12\x54\x8b\x52\xb4\x5f\x88\x8b\x37\x5a\xbd\x4e\xa2\x9f\xec\xb1\xf3\xcd\xc9\x84\xbc\x9f\x60\x3f\x07"
- Den Hexwert aus der Challenge-Array[4] in Charcode auflösen
'0f1e2d3c4b5a69788796a5b4c3d2e1f0' zu "\x0f\x1e\x2d\x3c\x4b\x5a\x69\x78\x87\x96\xa5\xb4\xc3\xd2\xe1\xf0"
- Nun alles mit der Funktion
pbdkf2_hmac_sha256(<hash>, <salt2>, <iter2>)
Hashen ->
pbdkf2_hmac_sha256("\x2d\x1b\xa0\xce\xf3\xc0\xc8\x12\x54\x8b\x52\xb4\x5f\x88\x8b\x37\x5a\xbd\x4e\xa2\x9f\xec\xb1\xf3\xcd\xc9\x84\xbc\x9f\x60\x3f\x07", "\x0f\x1e\x2d\x3c\x4b\x5a\x69\x78\x87\x96\xa5\xb4\xc3\xd2\xe1\xf0", 1000) -> '2b098be3549b2d30abc03bdad4ccb87f844b25d12e29e8c0428266130af1dc6b'
- Hash-Wert mit Hexwert aus Challenge-Array[4] erweitern '0f1e2d3c4b5a69788796a5b4c3d2e1f0$2b098be3549b2d30abc03bdad4ccb87f844b25d12e29e8c0428266130af1dc6b'
- Per POST response='0f1e2d3c4b5a69788796a5b4c3d2e1f0$2b098be3549b2d30abc03bdad4ccb87f844b25d12e29e8c0428266130af1dc6b'&username=admin an http://fritz.box/login_sid.lua schicken
Array
(
[_GET] => Array
(
)
[_POST] => Array
(
)
[_COOKIE] => Array
(
)
[_REQUEST] => Array
(
)
[https] =>
[url] => /cgi-bin/
[self] => /cgi-bin/
[cfg] => Array
(
[self] => /mnt/www/tests/fb_tools/fritzbox.php
[base] => /mnt/www/tests/fb_tools/fritzbox.db
[hash] =>
[name] => FRITZ!Box 7500
[anex] => B
[lang] => de
[code] => 049
[hwid] => 0
[time] => 20
[itr1] => 10000
[itr2] => 1000
[flag] => crashreport
[maca] => 04:08:15:16:23:42
[fosm] => 00.07.25
[foss] => 12345
[firm] => avm
[boot] => 725
[host] => tonline,Telekom
[info] => HTTPS Access
[auth] => Array
(
[admin] => admin123
[Anonymous] => h4<k7h3p14n37
[avm] => fritz.box
[Max] => mustermann
[fritz1337] => SessionID
)
)
[result] => no response
[response] =>
[sid] =>
[username] =>
[password] =>
[user] =>
[pass] =>
[id] =>
)
© 2024 MEngelke.de
Webserver Thu, 28 Mar 2024 09:37:25 +0000