View Single Post
  #31  
Old 13.09.2010, 00:36
buggsy buggsy is offline
BugMeNot Account
 
Join Date: Mar 2009
Location: everywhere/nowhere
Posts: 1,120
Thumbs up Boum

Code:
[[[HSRC]]]

    [[[STEP]]]
        [[[REQUEST]]]
        GET /index.cgi?user_name=%%%user%%%&password=%%%pass%%% HTTP/1.1
        Host: %%%routerip%%%
        [[[/REQUEST]]]
    [[[/STEP]]]
    
    [[[STEP]]]
        [[[RESPONSE keys="session_id"]]]
            \<INPUT type\=HIDDEN name\=\"session_id\" value\=\"(.*?)\"\>
        [[[/RESPONSE]]]
    
        [[[RESPONSE keys="transaction_id"]]]
            \<INPUT type\=HIDDEN name\=\"transaction_id\" value\=\"(.*?)\"\>
        [[[/RESPONSE]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        POST /index.cgi HTTP/1.1
        Host: %%%routerip%%%
        session_id=%%%session_id%%%&mimic_button_field=submit_button_conn_disconect%3A+..&transaction_id=%%%transaction_id%%%
        [[[/REQUEST]]]
    [[[/STEP]]]

    [[[STEP]]]
        [[[REQUEST]]]
        GET /index.cgi?session_id=%%%session_id%%% HTTP/1.1
        Host: %%%routerip%%%
        [[[/REQUEST]]]
    [[[/STEP]]]
    
    [[[STEP]]]
        [[[RESPONSE keys="transaction_id"]]]
            \<INPUT type\=HIDDEN name\=\"transaction_id\" value\=\"(.*?)\"\>
        [[[/RESPONSE]]]
    [[[/STEP]]]
    
    [[[STEP]]]
        [[[REQUEST]]]
        POST /index.cgi HTTP/1.1
        Host: %%%routerip%%%
        session_id=%%%session_id%%%&mimic_button_field=submit_button_conn_connect%3A+..&transaction_id=%%%transaction_id%%%
        [[[/REQUEST]]]
    [[[/STEP]]]
    
[[[/HSRC]]]
J'ai mis toute l'aprem a trouver ça , mais ça marche.:w00t:
Donc, vous copiez/collez ce texte dans l'onglet "live header/curl " situé dans la partie reconnection des settings.
N'oubliez pas de mentionner les champs user, password et router's ip en haut a droite dans l'onglet.
Et voilou, un beau reconnect sans passer par des scripts tordus avec ieplorer.
(je n'ai pas testé le cas du password NULL cad la config d'origine du routeur qui autorise le user a se connecter au routeur sans password, ca peut très bien fonctionner ou non).

explication du code:
Spoiler:

step1 : c'est une requête http classique pour l'adresse htt*://IP_DU_ROUTEUR/index.cgi?user_name=NOM_UTILISATEUR&password=MOT_DE_PASSE_UTILISATEUR
si vous tappez ca dans un navigateur vous accedez a la page status par defaut, exactement comme celle sur laquelle on va si on clic sur la maison en haut a droite.

step2 : sur la page affichée je recupère deux valeurs présentes dans le code source de la page: le numéro de la session et le numéro de la transaction. Je récupère cela dans les deux variables session_id et transaction_id.
Le tag [[[response permet cela grâce aux expressions régulières.

step3 : j'envoie une requête avec la méthode post sur htt*://IP_DU_ROUTEUR/index.cgi , les doonnées envoyées sont
session_id=%%%session_id%%%
mimic_button_field=submit_button_conn_disconect%3A+..
transaction_id=%%%transaction_id%%%

C'est tout ce dont a besoin le routeur pour se déconnecter, il lui faut savoir quel est la session sur laquelle il opère, le numéro de la transaction et la transaction (ici submit_button_conn_disconect%3A+.. qui est la même chose que le submit_button_conn_disconect .. du javascript).
En fait lorsqu'on clic sur le deconnect on effectue une méthode post avec bien plus d'infos, par ex:
active_page=9057&session_id=1090622700&prev_page=0&page_title=Status&nav_stack_0=9057&mimic_button_f ield=submit_button_conn_disconect%3A+..&button_value=&transaction_id=18
tout ces champs sont dans le code source de la page du routeur sous des champs <input type=hidden name="" value="">.
Le numero du cache se trouve aussi dans le code source. Mais comme ca fonctionne sans tout ce bordel autant l'eviter

step 4: je retourne sur la page d'accueil exactement comme si j'avais cliqué sur la maison. J'en ai besoin pour avoir le bon transaction_id pour le reconnect.

step 5: je récupère le transaction_id qui me servira pour la reconnexion.

step 6: je me reconnecte de la même manière avec laquelle je me suis déconnecté.

Outils utilisés:
- firefox
- firebug (plugin)
- liveHTTPheaders (plugin)
- jdownloader