ratproxy を使う
2008 年 8 月 27 日 水曜日ratproxy のインストールからテストまでの手順を紹介します。
ratproxy とは?
ratproxy とは google がリリースした、プロキシ型の脆弱性検知ツールです。
インストールについて
wget http://ratproxy.googlecode.com/files/ratproxy-1.51.tar.gz
tar xvzf ratproxy-1.51.tar.gz
cd ratproxy
make
make の際、Mac の場合(おそらく Cygwin でも)、
*** WARNING: flare-dist/flare bianry is not operational.
*** Please see flare-dist/README and update it for your OS.
という Warning がでますが、flash に関する試験を行わない場合は、問題ありません。
行う場合は、ratproxy/flare-dist/README に従い、バイナリをダウンロードし、makeします。
実行
実行は
./ratproxy -w pal-ratproxy.log -p 8081
で行います。
-w オプションは出力するログ名、
-p オプションはポート番号になります
(他のオプションについては後述します)
起動後、ブラウザでプロキシの設定を行います。
この場合、ブラウザ側での設定は、localhost:8081 になります。
試験対象のWebページを操作後、C-c で停止します。
結果
結果は、先ほど指定したファイル名で、出力されるので、これを付属している以下のスクリプトで html へ変換します。
./ratproxy-report.sh pal-ratproxy.log > pal-ratproxy.html
ちなみに、Mac の bash (GNU bash, version 3.2.17(1)-release (i386-apple-darwin9.0))
では、このスクリプト中でエラーが発生します。
CentOS 上の bash (GNU bash, version 3.2.25(1)-release (i686-redhat-linux-gnu))
だとエラーは発生しませんでした。
ratproxy のオプションについて
詳細は、ratproxy/README にありますが、主なものを説明します。
-d
既に稼働しているサービスに対して試験を行う場合など、別ドメインに対して、試験を行わないようにするために、指定します。
-x
XSSに関するテストを行います
-v
ログの出力ディレクトリを指定します
-m
クロスドメインで ‘active’ なコンテンツの参照をログに残します。
-s
全ての POST リクエストをログに残します。
-c
クッキーを保存させようとしたURL をすべてログに残します。
-l
ページの同一性を確認するために、MD5チェックサムではなく、ページの長さによる比較を使用します。
-X
‘active testing’ を有効にし、破壊的なテストを行う。
README では
./ratproxy -v <outdir> -w <outfile> -d <domain> -lfscm
というオプションの組み合わせを提案しています。
