sWebMachineGun.exe実践編
「データ作成画面と削除画面1」や「データ作成画面と削除画面2(削除画面)」で説明したように、1レコード作って削除して、、、を繰り返してもいいが、データ作成画面だけイッキに脆弱性診断を実施して、、、次に削除画面を脆弱性診断を実施する、という作業手順でもよいだろう。
どちらにしても、作成したデータが残ってしまうことがあるわけで、それを一斉に削除する方法、が今回のテーマです
ポイントとしては、変化する部分をカウント数を示すマクロ「%%c%」、またはグローバルな値を示すマクロ「%%g%」あたりを使って削除リクエストを連続実行して、脆弱性診断で作成したデータを一斉に削除することができるでしょう。
診断対象
こんな感じ
登録データ一覧画面 | データ削除画面 |
---|---|
GET /sanaki/yourdata/testIdInputDelete.asp?id=10 HTTP/1.0 |
「データ作成画面と削除画面1」または「データ作成画面と削除画面2(削除画面)」の削除リクエストだけ取り出した感じです
事前作業
事前にどのデータを消すのか調べておく
例えば、こんな感じ。
ここでは、データ作成画面に対して脆弱性診断を実施した結果、id=24以降で、id=37までのデータが作成されたので、(37-24=13...大体20リクエスト)削除しようと思う。
sWebMachineGun.exeの設定
メインの設定は、HTTPリクエストの設定と、置換方法の設定
sWebMachineGun.exeの設定1
「Request」タブに、一つのHTTPリクエストを設定する
このリクエストテンプレート画面は「データ作成画面と削除画面1」や「データ作成画面と削除画面2(削除画面)」の削除リクエストテンプレートと基本的に同じですが、マクロが「%%c%」となっている点が異なっています。
sWebMachineGun.exeの設定2
今回は、様々な文字列へ置換していく、、、というより、データ削除を連続実行したいだけなので、「Use ReplaceList」チェックボックスはOffにして、単純な繰り返し実行のモードにする。
そして、カウンタ設定にして、マクロ「%%c%」へ埋め込む値を設定する。
初期値は、24で、ステップ数は「+1」なので、マクロ「%%c%」は、24,25,26,27....と続き、繰り返し回数は、「%%c%」が37よりはちょっと大きい値になるであろう20回とした。
sWebMachineGun.exeの設定2a
今回はマクロ「%%c%」を用いているが、マクロ「%%g%」を用いる場合は、「General Setting」タブの「グローバルカウンタ」設定で設定する
マクロ「%%c%」は、実行ボタンを押下ごとに初期化される
一方、マクロ「%%g%」は、sWebMachineGun.exeが起動中保持される値(起動直後は"1")で、画面では次の「%%g%」は「24」、次の次はステップ数が「1」なので「25」....というような感じ。
まぁ、繰り返し回数は上記の「Setting」タブで指定する必要はあるが・・・
sWebMachineGun.exeの実行
「Execute」ボタンで、実行できるのですが、結果はこんな感じで、
id=24~id=44までのデータ削除リクエストが送られていることが分かると思う。
実際に、実行後は、こんな感じで、削除したいデータが削除されていることが分かる
そのほかのマクロ
いろいろあるよ。
「Macro」というボタンを押すと、ヘルプメッセージのダイアログが表示されるよ
注意事項
- 脆弱性診断中に、お客さん側もデバグ(検収)していると、お客さん側が新規作成したデータも削除されるかもしれない