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?

sWebMachineGun.exe実践編

ディレクトリ・トラバーサル/パス・トラバーサルを検査する場合

はじめに

sWebMachineGun.exeにはディレクトリ・トラバーサル/パス・トラバーサル専用の検査項目はないので、操作者自らが「このパラメータはファイルパスっぽい」と判断する必要がある

診断対象

http://example.com/cgi-bin/perl-fileview.pl?file=test.txt&modeDot=0」
「file」というパラメータが対象

まずは、ファイルパスっぽいパラメータを特定する

ここは基本的には操作者の技量といえるが、一応こういうパターンでわかる場合もあるという参考程度に。

これは、対象URLのHTTPリクエスト・メッセージ
dt001.png

検査用の置換方法としては、

  • パラメータに各種記号を入れて壊す
  • パラメータの先頭に「./」を入れてファイルパスなら無変換と同等な変換

dt002.png

「Execute」ボタンで実行

dt003.png

「何もしていない(ReplaceType=none)」「[./]を前方追加」したものが、似ているという「bSQL?」となっているので、パラメータ「file」は、ファイルパスっぽいと推定された

ディレクトリ・トラバーサル/パス・トラバーサルのためのsWebMachineGun.exeの設定

「Setting」タブ

まずは「置換方法」「Clear」ボタンで全消しする
dt004.png

全消しするといろいろと不都合があるので、実際には全消しできない(1つ残る)
これは、後で消す
dt005.png

続いて「UseReplaceList」のチェックボタンオフにする

dt006.png
「Custom」というグループで、

  • デリミタを「/」
  • 値を「..」

さらに「繰り返し回数」を指定する
今回は10回とした

最後に「Custom」というグループの「Add」ボタンで、置換方法に追加する

dt007.png

最初からある1行目をダブルクリックして消す
そして、置換方法のチェックをオンにして有効化する

dt008.png

以上で「Setting」タブの設定は終了

「Request」タブ

「../」の繰り返しを埋め込みたい箇所に「%s%」マクロを注入する
dt009.png

以上で設定は終了

sWebMachineGun.exeの実行

「Execute」ボタンで実行

dt010.png
4つ目の繰り返し(../../../..)で、/etc/hostsが表示されているので、答え?は4階層ということが分かった

蛇足1

dt011.png
おそらくUNIX/Linux系統は、4つ以上であれば適切にディレクトリトラバーサル攻撃が成功するので、こうやって調べずにとりあえず20個ぐらい「../」を与えてしまうばいいと思うよ。

蛇足2

SQL InjectionのUNIX句のカラム数(nullで代用)を調べる時にも同じ方法で調べられるよ

「Custom」というグループで、

  • デリミタを「/」「,」
  • 値を「..」「null」

と読み替えてくれればいいと思う

sWebMachineGun.exe Index

sWebMachineGun.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?