Archief - Curl - Linksys Login

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

brechtvm

Legacy Member
Ik zou graag inloggen op mijn router met behulp van CURL.
Login = Dialog box
Adres = http://192.168.1.1/setup.cgi?next_file=Setup.htm

Ik heb het volgende script:

Let op:
Er bestaan 2 configuraties:
router1 (WRT54G met DD-WRT erop) :
$urlDDWrt + $post_fieldsDDwrt
router2 (WRT300N met standaard firmware):
$url + $post_fields

Zoals je ziet is het inloggen bij de wrt300n met blanco username en misschien schuilt hier het probleem wel?

Code:
<?
/**
* Initialize the cURL session
*/
$urlDDWrt = "http://192.168.1.200/index.asp";
$url = "http://192.168.1.1/index.htm";
$post_fieldsDDwrt = 'root:admin'; 
$post_fields = ':admin';
$ch = curl_init();
/**
* Set the URL of the page or file to download.
*/
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, $post_fields);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
/* curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); */
/**
* Execute the cURL session
*/
curl_exec ($ch);
/**
* Close cURL session and file
*/
curl_close ($ch);
echo($ch);
?>

Ik krijg bij Router1 een succesvolle aanmelding (asp page)
bij Router2 krijg ik echter een "401 Unauthorized Authorization required" pagina te zien...
Heb al vanalles geprobeerd
- username invullen (root,admin,...)
- url veranderen (met cgi erin, setup-pagina, index.htm, ...)
- ..

Ik ben dus ten einde raad...

dJeez

Legacy Member
Ga naar de login pagina en doe eens een view source van die pagina (of gebruik de webdeveloper toolbar) om te zien welke velden de login form precies bevat. Waarschijnlijk ontbreekt er nog iets.

brechtvm

Legacy Member
dJeez zei:
Ga naar de login pagina en doe eens een view source van die pagina (of gebruik de webdeveloper toolbar) om te zien welke velden de login form precies bevat. Waarschijnlijk ontbreekt er nog iets.

Been there...

Hier vind je de source van de eerste pagina na het inloggen:
Linkje

Enige username etc dat ik vind is voor inloggen bij je ISP, en dus niet het gedeelte (inloggen) dat voorafgaat aan de weergave van deze pagina...

dJeez

Legacy Member
brechtvm zei:
Been there...

Hier vind je de source van de eerste pagina na het inloggen:
Linkje
Het is de source van de inlogpagina zelf - dus voor het inloggen - die je nodig hebt hé... Of werkt die via basic authentication misschien ipv via een webform?

brechtvm

Legacy Member
dJeez zei:
Het is de source van de inlogpagina zelf - dus voor het inloggen - die je nodig hebt hé... Of werkt die via basic authentication misschien ipv via een webform?

Werk via zo'n dialog (popup) :
http://philscomputerrepair.com/images/linksys-login.jpg

de "eerste" pagina die ik vind is index.htm, maar dat lijkt me een redirect pagina (slaag er maar niet in om deze af te halen ook, zelfs niet via flashget toestanden etc...)

allesinds al bedankt voor de hulp/moeite! :)

Radiance

Legacy Member
Geen verstand van CURL en of die dit ondersteunt, maar voor dat soort logins moet je de authentication gegevens meesturen als een header in de HTTP request.

Basic access authentication - Wikipedia, the free encyclopedia

Als je browser de eigenlijk HTTP traffic niet kan tonen, best even Wireshark installeren en kijken welke WWW-Authenticate methoden de router ondersteunt, aangezien het een home routerke is zal Basic wel supported zijn en da's nog vrij simpel, het wiki artikeltje hierboven maar eens bekijken. That is, als CURL u toelaat custom HTTP headers mee te geven.

brechtvm

Legacy Member
Radiance zei:
Geen verstand van CURL en of die dit ondersteunt, maar voor dat soort logins moet je de authentication gegevens meesturen als een header in de HTTP request.

Basic access authentication - Wikipedia, the free encyclopedia

Als je browser de eigenlijk HTTP traffic niet kan tonen, best even Wireshark installeren en kijken welke WWW-Authenticate methoden de router ondersteunt, aangezien het een home routerke is zal Basic wel supported zijn en da's nog vrij simpel, het wiki artikeltje hierboven maar eens bekijken. That is, als CURL u toelaat custom HTTP headers mee te geven.

Ok, weer een stapje verder... :bow::applause::niceone:
Uit de wireshark log:
Code:
Authorization: Basic OmJyZWNodA==\r\n
Credentials: :admin

Nu eens uitzoeken hoe basic authentication in elkaar steekt :)

Thx a lot!

dJeez

Legacy Member
Basic authentication stuurt gewoon de username:password combinatie als base64 encoded string mee. In uw geval is username leeg, dus zal er enkel :password in moeten staan.

Nu, in principe zou je dat rechtstreeks met CURL moeten kunnen doen als je
PHP:
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
toevoegt voor je curl_exec.

Maar die Credentials: admin header is wel een specialleke precies, dus het kan best zijn dat je de hele request zelf moet opbouwen (zonder gebruik te maken van de authenticatie opties van CURL zelf, of in 't allerslechtste geval door rechtstreeks met sockets te werken voor de communicatie)...

BTW Tss, wie kiest er nu zijn voornaam als paswoord :p. Je kan best een combinatie nemen van letters, cijfers en wat speciale tekens, zeker als je remote administratie toelaat... Anders ga je vroeg of laat problemen krijgen (ttz wordt je router eens gehacked).

brechtvm

Legacy Member
Sorry voor het uppen van deze thread, maar krijg het maar niet in orde...

Klopt het dat ik curl_setopt($ch, CURLOPT_HTTPHEADERS,$headers); dien toe te voegen?
$headers is dan een array() met daarin mijn headers (zie wireshark)?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan