w3afでアプリケーション脆弱性診断してみる
「w3af」というツールの1.0がリリースされたらしいので、早速試してみました。
w3afとは、
w3afは、Webアプリケーションの攻撃および監査フレームワークです。w3afのコア部分やプラグインはPythonで実装されています。SQLインジェクションのチェックやクロスサイトスクリプティング(XSS)、ローカル/リモートファイルインクルージョンなどを含めた130以上のプラグインが提供されています。
ということらしいです。ふむふむ。英語わかんないですが、試してみましょう。
ダウンロードとインストール
公式サイトのダウンロードページにbz2のパッケージがあるのでダウンロード。Windows用にバイナリのパッケージもあるみたいですよ。
パッケージを展開すると、「w3af_console」と「w3af_gui」があります。せっかくだから、GUIツールの方でやってみます。
環境は、Ubuntu10.04です。
とりあえず実行権限をつけて起動すると、色々パッケージが足りないと言われたので、その通りにインストール。
$ sudo apt-get install nltk SOAPpy libxml2 pysvn scapy
再度起動すると、
You have to install graphviz library.
ライブラリが足りないみたいです。インストール。
$ sudo apt-get install graphviz
再度起動すると、スプラッシュが出ました。
テストしてみる
続いて、GUIウインドウが出てきたので、左上のボタンからウィザードに従って入力。
今回はshort wizard、ローカルにあるLAMPP環境でテストしてみます。
といっても、URLとOS、検証する言語を選択、最後にプロファイル名を入れれば準備完了。
あとはチェック項目をONにしてとりあえず、Run。
どれがどの項目なのか分からないので、「audit」、「grep」、「mangle」あたりにチェックを入れました。
(discovery)にチェックを入れると、「すっごい時間かかるかもよ!」というダイアログが出たのでやめました)
お試し用のスクリプトはこんな感じ。
<div>
<?php echo @$_GET['id'];?>
</div>
良い子は真似しちゃダメなコードです。
で、スタートすると、結果や情報がログにダーッと出て、終了後に「Results」のタブから結果が確認できます。
簡単なスクリプトならいいですが、それなりなアプリケーションを検証すると、かなりマシンパワーを使う感じです。
あと、エラーが出ちゃう場合はそこで止まってくれるので、エラー検出にも使えそうな印象です。
結果を見ると、あれ、、、XSS脆弱性の指摘がされないですね。オプションのチェック項目が悪いのかもしれませんね。
でもちゃんとDirectoryIndexできちゃうよ、とかの警告はしてくれました。
あとxstの警告が出まくったので、設定を修正したりしました><


