2016-10-18 2 views
0

リモートサーバーによってブラウザに返された特定のファイル本文を置き換えることはできますが、元の応答ヘッダーはほとんど変更されずそのまま/変更なし/変更/ (私はこの文脈では英語の単語が一番良いのか分かりませんので、私の質問を修正してください) これはおそらく侵入テストプロキシ(Burp、OWASP ZAP、Charles、Fiddler、Parosなど)を使って行うことができますが、重要なヘッダーフィールド(Set-CookieContent-Typeなど)を削除せずに応答本体をローカルファイル本体にマッピングする適切なオプションを見つけません。正規表現パターンを使ってボディの一部だけを書き換えることには問題ありません。また、ファイル全体を(URLに基​​づいて)再マッピングすることに問題はありませんが、サーバによって返されたオリジナルを複製するのではなく、新しいヘッダを生成します。ローカルファイルのサイズがサーバーのサイズと異なる可能性があるので、Content-Lengthフィールドをプロキシによって変更する必要があります。そこに侵入テストツールが、そのようなSet-Cookieなどのフィールドによって修飾されるべきヘッダ内の他のフィールドはContent-Type、多分であり、いくつかの他の選択と同様に(X-で始まるものなど)すべてのカスタマイズされたフィールドが保存されるべきです。元のヘッダーフィールドのほとんどをブラウザに保存したままサーバー応答本体を置換/再マップ

これらのツールのいずれかに拡張機能や何らかのスクリプトを書きますか?もしそうなら、選択したツールのAPIリファレンスを検索することができますが、どの普及テストツールをPythonのお気に入りの言語で書くべきですか?この目的のために必要な特定のAPIを指す助けに感謝します。

  • 特定のURLの読み取りをブレークポイントを設定することにより、

    • インターセプトHTTPレスポンスとリクエストされたURL
    • チェックファイルのサイズに関連付けられたサーバー
    • ロードローカルファイルから返されたヘッダを覚えていて、Content-Lengthヘッダーを変更します。このスクリプトはすべきフィールド
    • 送信変性ヘッダ
    • 送信ロードファイル

    上記のリストは、私を指すためにAPIのどの要素が必要であるかを示しています。理想的には、記述されたタスクの任意のツールに埋め込みオプションがある場合は、そのようなオプションが存在しない場合は、ツールのAPIをPythonでコーディングする必要があり、どのAPI部品に特別な注意を払う必要がありますか?移植性のために、選択したツールは.NETに依存してはいけません(このような状況ではFiddlerを使用することが問題になります)。ポータブルJavaランタイム環境を使用して問題がないので、Javaに依存するツールはOKです。

  • 答えて

    0

    はい、これはOWASP ZAPで行うことができます。

    ZAPは、Python(Jythonの実際;)などのスクリプト言語の多くをサポートしています。 プロキシスクリプトを使用して、リクエストやレスポンスを変更することができます。要求と応答、すべてのZAP機能、およびローカルファイルストアに関するすべての情報に完全にアクセスできます。

    私たちはここにいくつかの例があります。これらの例のhttps://github.com/zaproxy/community-scripts/tree/master/proxy どれも実際のpythonを使用しませんが、あなたはPythonスクリプトがアドオンされ、必要なテンプレートが含まれてインストールする必要がありますhttps://github.com/zaproxy/community-scripts/tree/master/payloadgenerator の例のPythonスクリプトがあります:https://github.com/zaproxy/zap-extensions/wiki/HelpAddonsJythonJython

    は、あなたはZAPスクリプトに関する具体的な質問がある場合

    その後、私たちはただその目的のためにグループを持っている:http://groups.google.com/group/zaproxy-scripts

    関連する問題