2015-02-04 11 views
26

Ich bin auf der Suche nach einer einfachen Möglichkeit, eine Web-Anfrage abzufangen und ändern Sie den Inhalt der Anfrage (hauptsächlich POSTs) mit Fiddler.Wie ändere ich eine Anfrage in Fiddler?

Dies ist zum Testen der serverseitigen Validierung.

Ich muss Fiddler verwenden, aber ich habe keine gute einfache Möglichkeit gefunden, dies zu tun.

gab es mehrere dokumentierte Wege Skripte abzufangen Verkehr zu schreiben und Header zu ändern, aber ich würde es tun, ohne ein Skript zu schreiben - das Werkzeug von den Testern und Schreiben/Modifizieren Skripte alle verwendet werden muss, die Zeit von verschiedenen Testern kann nervig sein.

Beispiel:

Einfache POST mit 2 Parametern:

field1=foo, 
field2=bar 

Ich möchte die Anforderung abfangen, ändern Sie den Wert von field2 etwas wie bañ (man beachte die ñ zu sein, in meinem Fall ist ungültig und das ist was ich testen will).

Antwort

49

Ok, veröffentlichen die Antwort, die ich zusammen zusammen aus der folgenden YouTube-Video von piecing es ausdrückte:

Tampering Client Requests and Server Responses with Fiddler


  1. starten Fiedler (Ich bin mit Fiddler 4)

  2. Sie werden feststellen, dass es den gesamten Datenverkehr über alle Browser und andere Anwendungen abfängt

  3. einen Filter einrichten - dies ermöglicht es Ihnen, nur die Daten, die Sie interessiert sind, in

    1. Auf der rechten Seite klicken Sie auf die Registerkarte Filter
    2. Check ‚Filter verwenden‘
    3. auf Hosts zu sehen Verwenden Sie "Nur die folgenden Hosts anzeigen"
    4. Geben Sie in das Textfeld darunter den Host ein, auf dem Sie testen möchten. Geben Sie in unserem Fall für die Testumgebung Folgendes ein: testing.internalsite.com;
    5. Im Abschnitt 'Haltepunkte' genannt, überprüfen 'Break Anfrage auf POST'
  4. Intercept die Anfrage

    1. in Ihrem Browser navigieren Sie zu der Seite, die Sie testen. In unserem Fall ist dies die Willkommensseite, auf der wir die serverseitige Validierung testen: https://testing.internalsite.com/yourapp/welcome.do
    2. Löschen Sie alle vorhandenen protokollierten Anforderungen, indem Sie in der Werkzeugleiste auf das "X" klicken und "Alle entfernen" wählen.
    3. Geben Sie in Ihrem Browser die Daten in das Formular ein, das Sie testen möchten, und klicken Sie auf Senden. Dies sind gültige Daten (die Validierung der Client-Seite wird übergeben), die Sie mit Fiddler ändern werden.
    4. In Fiddler sehen Sie die Anfrage mit dem roten Symbol. Klicken Sie auf die Anfrage, um die Details auf der rechten Seite zu laden.
    5. Auf der Registerkarte Inspektoren, gefolgt von der Registerkarte WebForms, können Sie die Parameter des gesendeten Formulars ändern. Ändern Sie die Daten für den Test entsprechend.
    6. Hit the 'Run to Abschluss' Button
  5. Validate, dass Ihre Antwort richtig ist - in der Regel eine Art von Fehlermeldung, wenn Sie die serverseitige Validierungen testen

+0

sowieso um diese Manipulation zu stoppen ?? –

+0

Dies ist einfach eine Methode, um eine clientseitige Anforderung neu zu konfigurieren - jede clientseitige Validierung sollte eine äquivalente serverseitige Validierung aufweisen, da ein Client theoretisch immer die Möglichkeit hat zu steuern, was der Rechner sendet. – Coruscate5

+4

@ Sujit.Warrier Nein. Sie haben nie die Kontrolle darüber, was der Client senden kann. Das bedeutet, dass Sie den Kundendaten niemals vertrauen können. Sie * müssen * validate/cleanse/etc auf der Server-Seite. – Matt

3

Ich benutze Fiddler 4.6.3. Sie können dies versuchen, wenn Sie ein Webformular einreichen.

Beachten Sie die Postanforderung, wenn Sie ein Formular absenden. Lassen Sie diese Anfrage in Fiddler bleiben. Ändern wir die Anfrage in Fiddler.

1 - Rechtsklick-Abfrage> Aktivieren Sie "Entsperren zum Bearbeiten".

2 - Registerkarte "Inspector"> Formularfelder wie Benutzername, Passwort usw. im Bereich "Body" ändern.

3 - Rechtsklick-Anforderung> Replay> Erneut anfordern.

Fertig! Das einzige Problem bei diesem Ansatz besteht darin, dass Sie die alte Anforderung ändern. In Charles Proxy ist dies in 2-3 Klicks gegen die vielen Klicks in Fiddler getan. Außerdem müssen Sie die alte Anfrage nicht verwirren.