Script voor ZTE 4G router, onbekende hashes

Pagina: 1
Acties:

Vraag


  • CB32
  • Registratie: November 2011
  • Laatst online: 22:17
Mijn vraag
Ik heb een ZTE 4G router (MF286) die het prima doet alleen soms random een restart nodig heeft. WAN is dan niet meer bereikbaar.

De webinterface van deze router krijgt zijn informatie terug als JSON en verstuurd commando's via POST. Ik heb dat al een heel stuk uitgevoeld en kan alle informatie (zoals dataverbruik, batterij, etc.) prima uitlezen.

Nu wil ik de router kunnen herstarten via mijn script. Zodra ik via de webinterface deze actie ingang zet dan zie ik dat

Er een GET request gedaan wordt voor de waarde 'RD'
Vervolgens een POST request gedaan wordt met het commando DISCONNECT_NETWORK waar ook de waarde 'AD' meegegeven wordt. Zonder de (correcte) AD waarde komt het commando als failure terug.

Zowel RD en AD lijken een MD5 hash te zijn met onduidelijke oorsprong. Deze waardes komen enkel terug in de GET en POST request en dus lijkt het er op dat de webinterface in ieder geval de AD waarde zelf hasht?

De RD waarden heb ik kunnen reversen, de AD waarden niet:

code:
1
2
3
4
5
6
7
8
9
10
11
RD Requested just before post
(e.g. http://192.168.1.1/goform/goform_get_cmd_process?isTest=false&cmd=RD&_=1663423837835)
ed0e6f99c817e0b50d01e7254971e560 = 7832
37ca649d980eaa5564a620f959f12d88 = 8982
4f53d60aee2ffa2af10e3463da26b784 = 9056

AD sent to post request
(e.g. post string isTest=false&notCallback=true&goformId=DISCONNECT_NETWORK&AD=4bd75be2ace3620e69e0a573a405c197)
df8d3d2ff821507bd1500a15367a1c8e
4bd75be2ace3620e69e0a573a405c197
118f32c7d520687320caf1e6449cb2a6


Relevante software en hardware die ik gebruik
ZTE MF286 4g router
PHP script met cURL om in te loggen, GET/POST etc

Wat ik al gevonden of geprobeerd heb
Geen documentatie te vinden van ZTE.
Zoeken op 'ZTE "goformId=DISCONNECT_NETWORK" levert wel resultaten op over soortgelijke acties bij andere ZTE devices maar zonder de "AD" parameter.

Wie heeft een briljante ingeving om verder te komen?

[ Voor 3% gewijzigd door CB32 op 17-09-2022 16:31 ]

Alle reacties


  • RedFox
  • Registratie: November 2001
  • Laatst online: 20:17

RedFox

Heb je een OV ofzo?

Kan je in je network tab zien hoe die POST wordt getriggerd? Als dat via Javascript is zal er ook ergens code zijn om die waarde AD te vullen en kan je het zo reverse engineeren.

You are not special. You are not a beautiful or unique snowflake. You're the same decaying organic matter as everything else.


  • eheijnen
  • Registratie: Juli 2008
  • Niet online
Met deze search komt vanalles op github bovendrijven wat interessant kan zijn..
https://duckduckgo.com/?q...3Dfalse%26cmd%3DRD&ia=web

[ Voor 18% gewijzigd door eheijnen op 17-09-2022 17:00 ]

Wie du mir, so ich dir.


  • CB32
  • Registratie: November 2011
  • Laatst online: 22:17
Ai, toch wat resultaten gemist op GitHub. Zag zo snel al een AD calculator voorbij komen. Ik moet toch beter huiswerk doen, staarde even te veel naar de puzzel en het verband tussen de twee waarden.

Wel apart dat er zon beveiliging op zit het lijkt berekend te worden uit de firmware versie en meer. Lijkt me over de top maar okee.

Acties:
  • +1 Henk 'm!

  • eheijnen
  • Registratie: Juli 2008
  • Niet online
Zo te zien worden post opdachten via goform_SET_cmd_process gedaan..

Wie du mir, so ich dir.


  • CB32
  • Registratie: November 2011
  • Laatst online: 22:17
eheijnen schreef op zaterdag 17 september 2022 @ 17:33:
Zo te zien worden post opdachten via goform_SET_cmd_process gedaan..
Het maken van de POST request is geen probleem alleen de inhoud van de waarde AD. Maar met de resultaten van GitHub ga ik daar nu even opnieuw induiken.
Pagina: 1