インスペクタを使用すると、HTTPメッセージ内にある興味深いアイテムの編集や表示が簡単にできます。選択したリクエストとレスポンスの、HTTPヘッダ、cookie、パラメータなどがカテゴリごとに自動的にグループ化されます。
Inspectorには、次のような便利な機能があります:
値を自動的にデコードするので、より読みやすくなります。
エンコードされた値をプレーンテキスト形式で編集でき、必要な一連のエンコードがリクエストに自動的に再適用されます。
アイテムの追加、削除、並び替えが簡単に行え、リクエスト末尾の無駄な部分を手動で除去する必要はありません。
Burp Suiteの多くのタブで、メッセージエディタの隣にInspectorパネルがあります。
Inspector使い方は、下記のチュートリアルを推奨します。
詳細は、完全なドキュメントを参照してください。
このチュートリアルでは、エンコードされた値をInspector使って簡単に操作する方法を説明します。
Burpブラウザを起動して、次のURLにアクセスします:
https://portswigger.net/web-security/deserialization/exploiting/lab-deserialization-modifying-serialized-objects
Access the labをクリックしプロンプトが表示されたら、自分のPortSwiggerアカウントでログインします。すると、意図的に脆弱性を作り込んだあなた専用のブログサイトが開きます。
My accountをクリックし、次の認証情報を使用してログインします: wiener:peter
Proxy > HTTP履歴タブに移動し、GET /my-account
リクエストを選択します。
Inspectorパネルで、リクエストcookiesセクションを展開します。
>をクリックして、session
cookieを展開します。Inspectorは自動的に、正しい手順でcookieの値をデコードしていることに注目してください。今回は、URLデコードした後、Base64デコードした結果が表示されています。
GET /my-account
リクエストを右クリックし、Repeaterへ送信を選択します。
Repeaterタブに移動し、session
cookieを再度展開します。
Repeaterで、デコードされた値を変更できます。たとえばBase64デコードされたフィールドで、wiener
をadministrator
に変更し、変更を適用をクリックします。
変更された値をリクエストに挿入する際に、インスペクターが自動的に正しい順序でエンコードを再適用していることに注目してください。
メッセージエディタで任意の文字列を選択し、Inspectorで調べることも可能です。
Inspectorビューに戻り、session
cookieを手動で選択します。先程と同じように、Inspectorが選択部分を自動的にデコードすることに注目してください。
これは、Inspectorが自動的に解析できない部分文字列や、非標準的なデータ構造を扱う場合に特に便利です。
これで、エンコードされた値をInspectorを使って簡単に操作する方法を学びました。次のリンクも参照してください:
さらに上級者向けに、InspectorにはHTTP/2リクエストを扱うための独自機能があり、さまざまな方法でHTTP/2特有のリクエストスマグリング脆弱性を悪用できます。Webセキュリティアカデミーで、これらについて幅広く取り上げています。