Stap 3: Hoe We Did It: hacken Motion
We zijn begonnen met een camera met een webpagina-interface en wilde het via programmacode besturen, dus wat een betere manier om erachter te komen hoe het werkt dan het inspecteren van de code?
Wij de webpagina opgeslagen op schijf en gekeken naar monitor.htm. Het was daar dat we enkele interessante uitziende variabelen, zoals PTZ_UP en PTZ_STOP, die leek vonden te motion control-constanten zijn. Houden dat in het achterhoofd, we de web inspectie console (Ctrl + Shift + C in Chrome) opengesteld en inspecteren het netwerkverkeer terwijl op de camera beweging knoppen te klikken. We vonden verschillende oproepen naar een decoder_control.cgi
pagina met een "command =" argument overeenkomen met de constanten die we eerder in de HTML - één wanneer een klik hebt gevonden begint, en een ander wanneer een klik eindigt. De controles zijn zo ON/OFF en via HTTP GET-aanvraag? Laten we het weten!
We de url we zagen gekopieerd:
http://192.168.1.19:81/decoder_control.cgi?loginus...:81/snapshot.cgi?loginuse=admin&loginpas=123456&command=6&onestep=0&14015618208430.2931671005208045&_=1401561820844">http://audiostream.cgi:81/livestream.cgi?loginus...
in de browser en geladen begon de pagina, en zeker genoeg de camera bewegen! Vanaf dat moment was het een kwestie van het gooien van de constanten en een formattable urlkoord in Python te voltooien de controller. Gedaan.
Maar hoe zit het met video? Een camera is niet een camera zonder dat, na alle...