web-dev-qa-db-ja.com

Fiddlerでリクエストを変更する方法は?

Fiddlerを使用して、Web要求をインターセプトし、要求の内容(主にPOSTs)を変更する簡単な方法を探しています。

これは、サーバー側の検証をテストするためです。

Fiddlerを使用する必要がありますが、そうするための良い簡単な方法が見つかりませんでした。

トラフィックをインターセプトしてヘッダーを変更するためにscriptsを記述するいくつかの文書化された方法がありますが、スクリプトを書かずにそれをやりたいです-このツールはテスターに​​よって使用され、さまざまなテスターに​​よるスクリプトの作成/変更は常に煩わしいかもしれません。

例:

単純なPOST 2つのパラメーター:

field1=foo, 
field2=bar

要求をインターセプトし、field2の値をbañのように変更します(ñに注意してください。私の場合はinvalidです。それが私がテストしたいものです)。

43
Justin

わかりました、次のyoutubeビデオからそれをつなぎ合わせることから私がまとめた答えを投稿します:

Fiddlerによるクライアント要求とサーバー応答の改ざん


  1. Fiddlerを起動します(Fiddler 4を使用しています)

  2. すべてのブラウザおよび他のアプリケーションを介したすべてのトラフィックを傍受することに気付くでしょう。

  3. フィルタを設定します-これにより、関心のあるデータのみを表示できます

    1. 右側で、[フィルター]タブをクリックします
    2. [フィルターを使用]をオンにします
    3. ホストでは、「次のホストのみを表示」を使用します
    4. その下のテキストボックスに、テストするホストを入力します。テスト環境の場合、次のようにします。testing.internalsite.com;
    5. 「Breakpoints」と呼ばれるセクションで、「Preak request on POST」をチェックします
  4. リクエストを傍受する

    1. ブラウザで、テストしているページに移動します。私たちの場合、これはサーバー側の検証のテストを行うウェルカムページです。 https://testing.internalsite.com/yourapp/welcome.do
    2. ツールリボンの[X]を押し、[すべて削除]を選択して、ログに記録されている既存の要求をすべてクリアします。
    3. ブラウザで、テストに興味のあるフォームにデータを入れて送信します。これは、フィドラーで変更する有効なデータ(クライアント側の検証に合格)です。
    4. Fiddlerでは、リクエストに赤いアイコンが表示されます。リクエストをクリックして、右側に詳細をロードします。
    5. [インスペクター]タブで[WebForms]タブに続いて、送信されたフォームのパラメーターを変更できます。テストに適したデータを変更します。
    6. 「完了まで実行」ボタンをクリックします
  5. 応答が正しいことを検証します-サーバー側の検証をテストしている場合、通常は何らかのエラーメッセージ

77
Justin

フィドラー4.6.3を使用します。 Webフォームを送信する場合は、これを試すことができます。

フォームを送信する際の投稿リクエストに注意してください。そのリクエストをフィドラーに残してみましょう。 Fiddlerでリクエストを変更できます。

1-要求を右クリックし、[編集のロック解除]をオンにします。

2-[インスペクター]タブ> [ボディ]セクションのユーザー名、パスワードなどのフォームフィールドを変更します。

3-リクエストを右クリック>再生>リクエストを再発行。

できた!このアプローチの唯一の問題は、古いリクエストを変更することです。 Charlesプロキシでは、これは2〜3回のクリックで行われますが、Fiddlerでは多くのクリックが行われます。さらに、古いリクエストを台無しにする必要はありません。

8
MasterJoe2