【ハウツー】

もう試しましたか? Googleの脆弱性発見ツール「ratproxy」

4 レポートの作成

    富田宏昭  [2008/07/17]

    レポートの作成

    先ほどratproxyを経由してWebアプリケーションにアクセスし、操作を行ったが、その際にもratproxyはログを出力し続けている。レポートを作成する際はこのログファイルと付属するシェルスクリプト「ratproxy-report.sh」を使用する。

    プロンプト8: ratproxy-report.shに作成されたログファイルを渡し、結果をreport.htmlに出力

    % ratproxy-report.sh test.log > report.html
    

    ratproxy-report.shはシェルとして/bin/bashを指定している。環境によってはbashがこのパスに存在せず、動作しない場合があるので、直接スクリプトファイルを修正するなどして適宜対応されたい。

    図3: 作成されたレポート

    レポートに表示される発見された問題は、主に次のランク付けが行われている。

    • LOW/MEDIUM/HIGH: 問題の緊急度。HIGHになるほど緊急度が高い
    • INFO: 継続解析するための非差別的なエントリ
    • ECHO/echo: クエリパラメータとして渡した値が応答結果の中に含まれる/含まれない
    • PRED/pred: リクエストするURLかクエリデータを、第三者が予測できてしまう/予測できない
    • AUTH/auth: クッキー認証が行われている/行われていない

    発見された問題はあらかじめ決められた分類ごとに表示される。分類の代表例は次のとおり。

    • Direct markup echoed back: クエリとして<script><img>などといったマークアップを渡した際、そのままマークアップが出力されてしまっている箇所に表示される。XSS/XMLインジェクションを実行される可能性がある
    • Bad or no charset declared for renderable file: 文字コードが明示されていないか、間違っている箇所に表示される。UTF-7 XSS攻撃を実行される可能性がある
    • SQL code in query parameters: クエリパラメータにSQL文が直接埋め込まれている箇所に表示される。受け取ったパラメータを適切にエスケープせずに使用してしまうWebアプリケーションの場合、SQLインジェクションを実行される可能性がある

    このほかにもおよそ40種類ほどの分類が存在するようだ。詳細は成果物に含まれるdoc/READMEやmessages.listを参照されたい。

    オープンソース化されたratproxy、今後の発展に注目

    ratproxyはプロキシサーバとして動作するため、脆弱性発見のためのWebアプリケーション操作は基本的に手動だ。しかしSeleniumFirebugなどのツールと併用することで、より効率のよい脆弱性検査を実施することが可能となるだろう。脆弱性検査でいままでとくにツールを利用していなかったデベロッパはもちろんのこと、すでに他のツールを採用しているデベロッパも選択肢のひとつとして検討する価値がありそうだ。

    また優れた機能をもつratproxyがオープンソース化されたことで、今後さまざまなサードパーティ製のアプリケーションが登場していくことが期待できる。これからの動向に注目していきたい。

    関連記事

    関連サイト

    関連したタグ

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン