0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HTTPリクエストメッセージの書き換えをしてみる1(不正値の挿入)

Last updated at Posted at 2025-10-15

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 のメインメニューに戻る

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?