sziasztok!
adva van a fenti router, gyári szoftverrel bizonyos időközönként le kéne szedni róla azt az infót, hogy ami a statusz oldalán elérhető. úgy gondoltam, hogy wget jó megoldás lehet, de nem. a wget kérésre (a nyitó oldal frame-es, a kérdéses rész src részét wgeteltem csak) olyan tartalom jön csak le, hogy bocsi, nincs itt keresnivalóm, nincs jogom olvasni azt az oldalt (http://routeripje/userRpm/StatusRpm.htm nevű file a cél). ez valami wget butaság, vagy más hibát vétek? értelem szerint a pass és az user paraméterben is ment, meg bekérve is.
eredetileg csak az ip adatokat akartak kinyerni, meg uptime, efféle. most viszont már bosszant, hogy miért nem adja vissza nekem csak böngészővel a tartalmat. ahol eddig kerestem infót mindenki csak arra terelt, hogy tegyek rá ilyen olyan másik firemware-t, ami nem opció. ez van rajta, ez kell rajta legyen.
van tippje valakinek miként lehetne kinyerni belőle? nem kéne ezért egy gizikét alkalmazni, elég röhejes lenne... :)
- 2891 megtekintés
Hozzászólások
Lehet, hogy a router rendszere csak meghatározott sorrendben teljesülő kérések esetén dolgozza fel úgy ahogy szeretnéd.
Fogj mondjuk egy firefoxot és firebuggal nézd meg, hogy mit küld és mit kap vissza a lépések során. Lehet hogy cookie-t is küld vissza, ami nélkül nem enged be. De láttam már olyat is (egy soho switch config felületénél), hogy a beléptető oldalt is le kell kérni, mert anélkül nem kerül az ő oldalán olyan állapotba a rendszere, hogy fogadja a jelszóküldést.
Persze lehet használni whiresharkot vagy más toolt is a kérések vizsgálatára. A kérések küldésének próbálgatására is van sokféle tool (win alól pl wfetch 1.4, linux alól talán curl...).
Bár a neten rákeresve az útvonalra lehet mennie kéne, csak valamit elnéztél
http://forums.cacti.net/viewtopic.php?f=12&t=47903
wget http://192.168.9.3/userRpm/StatusRpm.htm --user admin --password admin -O temp.txt -q
itt simán meg tudja adni a felhasználót és jelszót.
- A hozzászóláshoz be kell jelentkezni
ez valószínüleg a routeren levő szoftver különbség miatt nem megy nálam. itt már elekad. ha direkt hívom a linket, akkor auth hiba miatt nem engedi. ha a "full oldalt hívom meg", akkor meg ugye legyen frame képes a böngészőm c. üzenet fogad. még küzdök, mint disznó a jégen, de...
--
xterm
- A hozzászóláshoz be kell jelentkezni
hiba, de a firbughoz nem értek, nem vagyok egy web guru :) de feltettem és nézelődöm. amikor a status lapot kéri le, akkor a köv kérés megy
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language hu-hu,hu;q=0.8,en-US;q=0.5,en;q=0.3
Authorization Basic YWRtaW46d3IxMDQzdjI=
Connection keep-alive
DNT 1
Host 192.168.1.1
Referer http://192.168.1.1/userRpm/StatusRpm.htm
User-Agent Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:34.0) Gecko/20100101 Firefox/34.0
a köv válasszal:
Connection close
Content-Type text/html
Server Router Webserver
WWW-Authenticate Basic realm="TP-LINK Wireless N Gigabit Router WR1043ND"
ez mond neked valamit?
--
xterm
- A hozzászóláshoz be kell jelentkezni
Az Authorization Basic sor azt mondja meg, hogy basic http authorizációt használ az oldal. Ezt el kell küldeni a kéréssel (wgetnél asszem amúgy --http-user=user --http-password=password paraméterekkel), így lehet hogy menni fog. (Amúgy pont ilyen router van itthon is, és még base64 decode nélkül is megmondom, hogy nem írtad át te sem a default admin jelszót :) )
- A hozzászóláshoz be kell jelentkezni
a jelzett wget kérést kipróbálom, hátha. a jelszót meg (szerencsére) benézted, le van cserélve. nem szokásom defaulton hagyni sosem. mondjuk nem nagyon érhető el más felől a cucc, mint kéne, de akkor is.
--
xterm
- A hozzászóláshoz be kell jelentkezni
Hopp tényleg, csak az eleje volt ugyanaz, meg is néztem egy base64 decodedal most... Mindenesetre, hogy ha a lejjebb írt referrer+az auth headerök együttesével nem megy, akkor kidobom a httpről létező eddigi tudásom...
- A hozzászóláshoz be kell jelentkezni
nem akarlak a szavadon fogni, de sajna nem megy... :(
--
xterm
- A hozzászóláshoz be kell jelentkezni
Na, majd én is próbálkozom, csak varázsolnom kéne egy unix boxot...
- A hozzászóláshoz be kell jelentkezni
nem biztos, hogy *nix specifikus a jelenség. ez valami fícsör lesz ennél a routernél. lehet ki lehet trükközni, de ehhez én most kevés vagyok. pedig elsőre nem tűnt egy hűha feladatnak :)
--
xterm
- A hozzászóláshoz be kell jelentkezni
pm ment
- A hozzászóláshoz be kell jelentkezni
Mi például a curl -v http://routerip
kimenete? Ebben látszódnak a HTTP fejlécek is. Az én Linksys WRT54GL routerem például HTTP Basic authentication-t használ, nem pedig HTTP GET/POST requesteket.
A curl -v http://routerip
kimenete nálam:
* Hostname was NOT found in DNS cache
* Trying 192.168.###.###...
* Connected to 192.168.###.### (192.168.###.###) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.35.0
> Host: 192.168.###.###
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 401 Unauthorized
< Server: httpd
< Date: Thu, 05 Mar 1970 09:04:26 GMT
< WWW-Authenticate: Basic realm="WRT54GL"
< Content-Type: text/html
< Connection: close
<
401 Unauthorized
401 Unauthorized
Authorization required.
* Closing connection 0
Ebből látszik, hogy 401-es HTTP kóddal válaszolt, ami a HTTP Auth-ra utal.
Egy lehetséges megoldás nálam: curl -u username:password http://routerip
- A hozzászóláshoz be kell jelentkezni
bocs, kicsit behavaztak. a kérdéses curl kérés kimenete:
olyan, mintha nem login fail lenne magán a bejelentkezésen, mert ott van a frameset is. akkor vajon miért nincs ott a lényeg? sajna nem értek ehhez elér részletesen, ezért nem értem a kimenet és a várt kimenet közt mi a hiba. tudsz esetleg segíteni így a kimenettel?
--
xterm
- A hozzászóláshoz be kell jelentkezni
Ez már rendben levőnek látszik, ha belenézel a kódba, látszik, hogy az egyik frame-be pont az általad linkelt URL-t töltené be (csak nem adtál fájlnevet az URL-ben):
document.write('');
Tehát nekem a megoldás ennek tűnik: curl -u admin:password http://192.168.1.1/userRpm/StatusRpm.htm
De ha szeretnél még debugolni, akkor egy kis hint:
1. A curl-t ha futtatod, kérlek, tedd hozzá a "-v" paramétert, hogy látszódjanak a HTTP header-ök
2. Próbáld meg megfelelő felhasználónév/jelszó párossal, és hibással is, hogy látszódjanak a különbségek
3. Próbáld meg a fentit: curl -v -u admin:password http://192.168.1.1/userRpm/StatusRpm.htm
- A hozzászóláshoz be kell jelentkezni
köszi. pont ezért sem értettem ezt. ha a filenevet is megadom, akkor 1-2 sorosra rövidül az output, amiben csak annyi van, hogy not authorized. cizelláltabb mondattal, de ez. ha elé tudok kerülni, akkor posztolom mit ír ki. hibás userrel és jelszóval még nem próbáltam, megnézem úgy mi létszim a framesetes oldal esetén.
addig is köszi
--
xterm
- A hozzászóláshoz be kell jelentkezni
Firmware frissítésnél ellenőrzi a router a referer-t, talán a status oldalnál is.
curl --referer 'http://192.168.1.1/userRpm/StatusRpm.htm'
Valószínűleg emiatt nem engedi letölteni.
- A hozzászóláshoz be kell jelentkezni
firmware frissítés?? a referer-es dolgot viszont megnézem.
--
xterm
- A hozzászóláshoz be kell jelentkezni
Csak példaként hoztam fel, ha parancssorból frissítesz egy ilyen eszközt, figyeli a referer-t, ezért valószínűleg a status oldal is hasonlóképp működik.
- A hozzászóláshoz be kell jelentkezni
Nem tudom működik-e, - régen használtam a lynx-et utoljára - de ez az első gondolatom:
Lynx-el be tudsz lépni és elmenteni az oldalt, közben - megfelelő paraméterrel hívva - el lehet mentetni a billentyűzet leütéseket. Az elmentet leütéseket fájlból vissza lehet játszatni vele később automatikusan. Így shell-ből vagy egy scriptből bármikor meg tudod hívni a teljes belépési és mentési procedúrát.
- A hozzászóláshoz be kell jelentkezni
Az én routeremen a java-script hiánya miatt nem működik. :(
- A hozzászóláshoz be kell jelentkezni
Ugyan nem router, de nekem volt már olyan, hogy weblap kiszúrta, wget-tel jövök, s elhajtott, Firefoxszal meg jó volt. Ekkor azt lehet csinálni, hogy behazudtam a wget-tel neki, hogy én egy Firefox vagyok, a weblap elhitte, s odaadta az oldalt. Ha jól sejtem, a wget -U kapcsolója az.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
wget --user=admin --password=admin --ignore-length --referer=http://192.168.1.1/ http://192.168.1.1/userRpm/StatusRpm.htm
Ez így nekem működik. Nyilván nem ezzel a jelszóval. :)
- A hozzászóláshoz be kell jelentkezni
kalap megemel, te nyertél. az ignora length nélkül nem ment. de miért... pedig a többi opció már volt, még pepitában is.
--
xterm
- A hozzászóláshoz be kell jelentkezni