sWebMachineGun.exe実践編
置換したリクエストとは別のレスポンスを検査する場合
診断対象
こんな感じ
入力画面→確認画面→入力画面に戻る
そして、入力画面に戻る際にはパラメータがないけど、直前の「入力→確認」で入力した値がXSSする、、、というような対象
sWebMachineGun.exeの設定
メインの設定は、HTTPリクエストの設定と、置換方法の設定
sWebMachineGun.exeの設定1
「Request」タブに、二つのHTTPリクエストを設定して、
判定対象リクエストをNo1(2つ目のリクエスト)に設定する
一つ目はこんな感じ
リクエストとしては「一つのHTTPリクエスト(一番シンプル)」と同じ。
二つ目はこんな感じ
- 変換対象ページが No0
- 判定対象ページが No1
となっている。
こういう設定にする方法は後述している
ちなみに「AutoTarget」がオフになっているが、オンにすると、変換対象/判定対象がGUIで表示されているページに自動で追随するので、オフにしている。
sWebMachineGun.exeの設定2
「Setting」タブの置換方法は、キャプチャ画像を分かりやすくするために2つだけ。
- 「値」の前方に「'"'"`a--><s>【マーキング文字】【変数名】/</s>」を追加する
- 「値」の前方に「'」を追加する
「お勧め」ボタンにはいろいろな置換方法が用意してありますよ。
「UseName」をチェックして、パラメータの解析(名前と値を解析)を実施するように指示する
この画面で、変換対象ページをNo0と指定している
sWebMachineGun.exeの設定3
「Judge/Regex」で、判定対象ページをNo1に指定している
今後のバージョン
検査するレスポンスの番号を一つだけ指定するという方法よりも、ある番号以上のレスポンスは検査した方が便利そうなので、近いうちにそういう仕様を実装するかもしれない
sWebMachineGun.exeの実行
「Execute」ボタンで、実行できるのですが、結果はこんな感じで、各変数に対して、各置換方法を与えたHTTPリクエストを送信し、その後「戻る」リクエストを発行して、そこでXSSが発現しているのを発見できている。