cURL et authentification neufbox

Le
Baton Rouge
Bonjour

est ce que quelqu'un peut me decomposer une commande bash de curl avec login/password pour recuperer le html de la page http://192.168.1.1/1_1

Je butte systematiquement sur la page login et les exemples sur le net sont pas tres clair sans compter la partie coockie pour ne pas avoir à se
logger a chaque fois.

Merci de votre aide.


--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Baton Rouge
Le #23149011
On Tue, 22 Feb 2011 18:26:10 +0100, Baton Rouge
Bonjour

est ce que quelqu'un peut me decomposer une commande bash de curl avec login/password pour recuperer le html de la page http://192.168.1.1/1_1

Je butte systematiquement sur la page login et les exemples sur le net sont pas tres clair sans compter la partie coockie pour ne pas avoir à se
logger a chaque fois.

Merci de votre aide.



Le dernier en date que je viens de tester :
wget --post-data="web_login­min&web_password=password" --keep-session-cookies --save-cookies cookies.txt http://192.168.1.1/1_1

J'ai droit à un fichier "1_1" avec ça dedant :

Accès verrouillé
Pour vous identifier, suivez les instructions ci-dessous :
Identification par mot de passe
Saisissez votre identifiant et votre mot de passe puis cliquez sur le bouton Valider.
passwd/1_1
Identifiant

Mot de passe

Valider
Aide
Identification par mot de passe : Saisissez votre identifiant et votre mot de passe pour accéder à  l'interface d'administration de votre neufbox. Par
défaut, l'identifiant est admin et le mot de passe est le code WiFi (WPA-PSK) se trouvant derrière votre neufbox.

Identification par bouton service : Appuyez sur ce bouton pendant quelques secondes jusqu'à  ce qu'il clignote puis cliquez sur Continuer.

--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Baton Rouge
Le #23149081
On Tue, 22 Feb 2011 23:36:42 +0100, Baton Rouge
wget --post-data="web_login­min&web_password=password" --keep-session-cookies --save-cookies cookies.txt http://192.168.1.1/1_1



Je precise que le dernier en date est wget et pas curl, hein.
;o))

--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Fabien LE LEZ
Le #23149071
Arrives-tu à te connecter avec Firefox ? Si oui, utilise HttpFox pour
regarder le détail des requêtes effectuées.
Baton Rouge
Le #23151441
On Tue, 22 Feb 2011 23:57:53 +0100, Fabien LE LEZ
Arrives-tu à te connecter avec Firefox ? Si oui, utilise HttpFox pour
regarder le détail des requêtes effectuées.



Je pense savoir d'où vient le probleme. Voila le POST de httpfox :
method=passwd&page_ref=%2F1_0&web_challengeê1c1601eb27d5e2a4187f31cf8cc3760acd76a24cb415048fc289c0730e932a666a3af1952b6675bf57f6a3152be6e2f28048c31a2114e74545abf7fe43b892b42b37a96017192e01c7be852fef29effb91e109&web_login=&web_password
Là, je sèche grave.

Il faut passer le parametre web_challenge, mais je ne sais pas comment le recuperer car cella passe par http://192.168.1.1/js/0_2.js dont voici le
jscript.




---------------------------------------------------------------------------------------------------------------

$(document).ready(function(){
$('#form_web_login').submit(function()
{
sendRequest('/0_2', submitForm, {action: 'login'});

return false;
});

$('#web_login').focus();

$('#web_login').attr('autocomplete', 'off');
$('#web_password').attr('autocomplete', 'off');

$('#div_button_continue').attr('class', 'button_submit_disabled');
setInterval("sendRequest('/0_2', updateContinueButton, {action: 'update'})", 800);
});

function submitForm(response) {
var status_val = getResponseAttrElement(response, 'status', 'val');

if(status_val == 'success')
{
var challenge = getResponseElement(response, 'challenge');
var form = $('#form_web_login');
var web_login = $('#web_login');
var web_password = $('#web_password');
var web_challenge = $('#web_challenge');

if(challenge.length == 40)
{
web_challenge.val(challenge + HMAC_SHA256_MAC(challenge, SHA256_hash(web_login.val())) + HMAC_SHA256_MAC(challenge,
SHA256_hash(web_password.val())));
web_login.val("");
web_password.val("");
}


form.unbind('submit');


form.submit();
}
else if(status_val == 'error')
{
var status_text = getResponseAttrElement(response, 'status', 'text');

alert(status_text);
}
}

function updateContinueButton(response)
{
var status_val = getResponseAttrElement(response, 'status', 'val');
if(status_val == "success")
{
var button = getResponseElement(response, 'button');
var x = $('#div_button_continue');

if(button == "on")
{
x.attr('class', 'button_submit');
}
else
{
x.attr('class', 'button_submit_disabled');
}
}
}

---------------------------------------------------------------------------------------------------------------




--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Baton Rouge
Le #23151601
On Wed, 23 Feb 2011 20:48:46 +0100, Baton Rouge wrote:

On Tue, 22 Feb 2011 23:57:53 +0100, Fabien LE LEZ
Arrives-tu à te connecter avec Firefox ? Si oui, utilise HttpFox pour
regarder le détail des requêtes effectuées.



Je pense savoir d'où vient le probleme. Voila le POST de httpfox :
method=passwd&page_ref=%2F1_0&web_challengeê1c1601eb27d5e2a4187f31cf8cc3760acd76a24cb415048fc289c0730e932a666a3af1952b6675bf57f6a3152be6e2f28048c31a2114e74545abf7fe43b892b42b37a96017192e01c7be852fef29effb91e109&web_login=&web_password >
Là, je sèche grave.

Il faut passer le parametre web_challenge, mais je ne sais pas comment le recuperer car cella passe par http://192.168.1.1/js/0_2.js dont voici le
jscript.



En fait la premiere partie (challenge) concerne la parametre auth du
cockie :
ea1c1601eb27d5e2a4187f31cf8cc3760acd76a2

A cela s'ajoute le login et mot de passe passé à la moulinette :
web_challenge.val(challenge + HMAC_SHA256_MAC(challenge,
SHA256_hash(web_login.val())) + HMAC_SHA256_MAC(challenge,
SHA256_hash(web_password.val())));

Donc je dois depuis un bash et avec curl essayé de passer par la
function ou bien faire mon propre SHA256 (mais si la methode change
dans la 9box, je serait dans le caca)

Merci de votre aide.




--
Travailler plus pour gagner plus pour quoi faire ?
Pour finir par divorcer parce qu'on est pas souvent à la maison ou faire un malaise vagal et creuser le trou de la sécu ?
Fabien LE LEZ
Le #23151921
On Wed, 23 Feb 2011 21:59:43 +0100, Baton Rouge :

[code Javascript]



Wow, le merdier !
Au moins, c'est écrit avec Jquery, ce qui le rend raisonnablement
facile à lire.

Donc je dois depuis un bash et avec curl essayER de passer par la
function



À moins que Curl ait un interpréteur Javascript intégré (ce qui
m'étonnerait), il va te falloir pour ça un moteur Javascript externe.
Par exemple, node.js.

Ou alors, tu peux porter le code Javascript dans un autre langage. Un
peu de Perl devrait faire l'affaire.
Publicité
Poster une réponse
Anonyme