sPortRedirecotr.exe実践編
前提
HTTPプロキシサーバで、一旦通信(HTTPリクエスト)をトラップ、編集して送信。
という流れがWebアプリケーション脆弱性診断/手動診断の基本作業の一つだと思うけど、それをsPortRedirecotr.exeで実施してみる。
今回は、不正値(主に記号文字)を挿入してエラーを誘発させる。
適切なエラー処理がされていれば、セキュリティ上の問題はないということになる。
事前準備1
sPortRedirecotr.exeで、HTTPリクエストをトラップする設定にしておく
事前準備2
診断作業をする前に、以下の設定をしておく。
「Edit/Trap」→「EditSetting」がその設定を行う場所
![]() |
画面は「Default」ボタンを押した既定の状態
- 「ホスト名」は、マクロ「%H%」に置換される文字列(SSRF検出用にWebサーバを事前用意しておくとよいかもしれない)
- 「URL」は、マクロ「%U%」に置換される文字列(SSRF検出用にWebサーバを事前用意しておくとよいかもしれない)
- 「マーキング文字」は、マクロ「%M%」に置換される文字列(診断時に単純検索しやすいような特徴的に文字列がよいと思う。例えば「SECURITYTEST」とか{ちょっと長いけど...})
- 「置換用」は、HTTPリクエストメッセージの編集画面で挿入される文字列
つまり、「置換用」を事前に準備する必要があるということなんだけど、、、
例えば既定値として「URL」は「http://%H%/Path」となっているので、「ホスト名」が「www.example.com」ということだから、「http://%H%/Path」→「http://www.example.com/Path」ということ
例えば既定値として「置換用」は「\"\'"'`a--><s>%M%%s%/</s>{{9-2}}${7*7}」となっているので、「マーキング文字」が「SECURITYTEST」ということならば、「\"\'"'`a--><s>%M%%s%/</s>{{9-2}}${7*7}」→「\"\'"'`a--><s>SECURITYTEST/</s>{{9-2}}${7*7}」ということ
編集画面
あとは、HTTPリクエストメッセージの編集画面で、、、、
![]() |
挿入したい箇所にカーソルをあてて、「CTRL+E」で、事前準備した文字列が(最低限の)URLエンコードされて挿入される
![]() |
または、挿入したい箇所にカーソルをあてて、「CTRL+W」で、事前準備した文字列がXMLエンコードされて挿入される
![]() |
または、挿入したい箇所にカーソルをあてて、「CTRL+R」で、事前準備した文字列がJavaScriptエスケープされて挿入される
![]() |
ちなみに「CTRL+Q」だとこんな感じ。
HTMLエンコードしてからURLエンコードしている感じ。...あまり使わないかな...
![]() |
あとは、「Send」ボタン(またはF5)で送信される
次回
利用に際して
当然ですが、本ツールは、デバグ用、開発用であり、悪用厳禁ですよ。
sPortRedirecotr.exe Manual
sPortRedirecotr.exe のメインメニューに戻る