3 votes

Intercepter et manipuler une requête HTTP POST

J'ai un problème de confidentialité avec une web-app que j'utilise. Elle exécute un script flash qui fait une capture d'écran et la soumet ensuite à un serveur à un intervalle spécifique. J'ai réussi à intercepter la requête HTTP POST mais je souhaite la manipuler pour renvoyer une image vide.

J'ai trouvé comment capturer la requête HTTP dans Firebug et je peux capturer/interrompre l'événement dans Fiddler. Fiddler me permet même de soumettre une commande POST modifiée (mais je n'arrive à comprendre comment le faire manuellement et la web-app se casse si elle ne reçoit pas ce POST à temps). Existe-t-il un outil ou script que je peux utiliser pour modifier cette demande de post dans le navigateur ? Je ne vois pas Greasemonkey fonctionner puisque la requête HTTP est générée par un fichier SWF.

3voto

Robert Points 10865

Fiddler dispose également d'un langage script qui permet d'automatiser la modification de certaines demandes ou réponses.

Le script de fiddler est sauvegardé par défaut dans Fiddler2\Scripts\CustomRules.js dans votre répertoire "Mes documents".

Un simple script ressemblerait à ceci :

static function OnBeforeResponse(oSession: Session) {

    if ((oSession.hostname == "example.org") && (oSession.PathAndQuery=="/path/myServlet")) {
      oSession.utilDecodeResponse();
      var oBody = System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);
      oBody = oBody.replace("text to be replaced", "replaced text");
      oSession.utilSetResponseBody(oBody);

      //Prevent caching of response
      oSession.oResponse.headers.Remove("ETag");
      oSession.oResponse.headers.Remove("Last-Modified");
      oSession.oResponse["Cache-Control"] = "nocache";
    }
}

Pour d'autres échantillons, visitez http://www.fiddler2.com/fiddler/dev/scriptsamples.asp

1voto

Leo Points 36

Demandeur est une petite extension sympathique pour Google Chrome que vous pouvez utiliser pour modifier et renvoyer toutes sortes de requêtes HTTP.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X