技術ブログ - 毎日が成長!

‘Firefox’ タグのついている投稿

XSS Me 実行結果のレポートについてまとめてみた

2011年2月10日 by takahashi

はじめまして。開発・運用部の高橋です。

今回はXSS脆弱性対策のツールである XSS Me の実行結果のレポートについてまとめました。使い方については既にまとめている方々がいらっしゃいますが、レポートの見方についてはなかなかないんですよね。そこで、ここではレポートの見方を中心にお話します。

XSS Me とは

まず始めに XSS Me について簡単な説明を。 XSS Me は Firefox のアドオンで、XSS脆弱性の対応状況を調べることができるツールです。 テストの実行から実行結果のレポート出力まで、全てブラウザ上でおこなえるのが特徴です。

入手方法と使い方

さて、肝心の使い方に関してですが、先に述べたように既に有益な情報がありますのでそちらをご覧ください。

上記サイトを参考にテストの実行まで終わりましたら、次はテスト結果のレポートです。

レポートの見方

テストが完了すると、下記画像のようなレポートが別タブで出力されます。それでは上から順に説明します。

XSS Heuristic Test Results

XSSの危険性のある記号について、それぞれエスケープ等の処理がされているか表示されます。レポートに書かれている通りですね。 なお、テストの対象となる記号ですが、オプションから追加・削除がおこなえます。

XSS String Tests Summary (xxx tests executed)

この項目が今回のメインとなる部分です。 ここには実行されたテストの結果概要が表示されます。 全xxx件のテスト結果が、Passes、Warnings、Failuresの3項目に分類されます。ここではFailuresはありませんが、もし見つかった場合には赤色で表示されます。 以下、各項目の説明です。

項目 内容
Passes
  • テストを通ったもの
  • XSS脆弱性は見つからなかった
Warnings
  • 他のブラウザではXSS攻撃の被害を受ける可能性があるもの(他の脆弱性検査ツールでは問題ないと判断されたものが挙げられることがあります)
Failures
  • テストを通らなかったもの
  • XSS攻撃によって被害を受ける可能性がある

この3項目のうち、Warningsが厄介です。 他のブラウザでは危険性があると言われても、それはこのツールじゃ確かめられませんよね。 また、Warningsに関する情報が少なくてどのように判断すれば良いのかわかりづらいのも厄介ですね。

XSS String Test Results

先の XSS Heuristic Test Results の詳細説明です。 問題点や注意点が記載されています。ここを参考にして修正するのが良さそうです。

その他感想、おまけ

以上が XSS Meにおけるレポートの見方です。 以下に、XSS Me に関して気になる点や、私個人が利用してみた感想等をまとめてみました。

良かった点

  • 別のアプリケーションを起動する必要がなく、全ての作業をブラウザ上でおこなえる
  • テスト結果が一目見てわかるので、修正が必要な箇所の割り出しに時間がかからない

気になる点

  • フォーム周りの検査しかできないため、フォーム以外の箇所に潜んでいるXSS脆弱性に関しては検査できない
  • ブラウザ依存のため、他のブラウザではXSS脆弱性が見つかる可能性もある

上記を踏まえると、XSS Me は簡易的なテストとして利用するのが適していると思います。 XSS Me だけではなく、他のツールと組み合わせるとより効果的だと思います。

最後に私個人の使い方をご紹介します。

私はお昼や打ち合わせで席を外す際に XSS Me を実行しておき、戻ってきたらレポートを確認するという使い方をしていました。 それというのも、HTML要素の多いページだとテストにかかる時間が非常に長いからです。 私の場合、全てのテストを実行したら5000件を超え、テスト終了まで1時間強かかることがありました。 テストの件数が多い場合は、無駄がなくなる使い方をした方が良さそうです。

参考にさせていただいたサイト

今回のエントリではこちらのサイトを参考にさせて頂きました。 ありがとうございました。

http://labs.securitycompass.com/index.php/exploit-me/xss-me/xss-me-faq/

 

カスタムクエリで複数プロジェクトを3倍早く渡り歩く

2010年3月10日 by maruyama

PM担当の丸山です。こんにちは。 サーバーワークスではRedmineを利用したチケット駆動開発を実践しています。

チケットを基本とした開発にはわりと馴染んできたのですが、いまひとつRedmineの実力を生かしきれていません。 Redmineは私たちが「使い方を工夫すること」で初めて実力が見えるツールなのかな。と感じています。

今日はRedmineのカスタムクエリの工夫についてご紹介をしたいと思います。

■カスタムクエリを作成する

Redmineでは「プロジェクト」単位にチケットを作成します。 複数プロジェクトを担当している時に、各プロジェクトのページへ移動していては効率がよくありません。 「マイページ」から自分のチケットをまとめてみることもできますが、使い易いとは言い難いものです。

でも、そのマイページに注目。 「担当しているチケット」の左下に「チケットをすべて見る」というリンクがあります。 このリンクは、Redmineのすべてのプロジェクトに対するビューになっています。

この「チケットをすべて見る」というリンクから遷移した初期状態では、フィルタは以下の用ように設定されています。

ステータス=未完了

担当者=等しい/自分

このまま「保存」リンクをクリックすることで、自分用のカスタムクエリが作成されます。

なお、カスタムクエリは「プロジェクトに対するもの」と「Redmine全体に対するもの」の2種類があります。 プロジェクトに対するものは「公開」にチェックをつけることで、自分以外のメンバーも使用できるカスタムクエリになります。 Redmine全体に対するものは自分専用のカスタムクエリしか作成できません。

作成したカスタムクエリは「query_id」が付与されます。 これを引数にしたURLをブックマークしておけば簡単に自分のチケットが一覧で閲覧できるようになります。

http://redmine.example.com/issues?query_id=xxxx(付与されたquery_id)

■カスタムクエリを応用する

カスタムクエリを作成するときの「フィルタ」の条件を工夫すればこんなこともできるようになります。

  • プロジェクトをまたいで作業中のチケットだけを一覧表示
  • 自分と特定メンバーだけに絞ったチケットを一覧表示
  • 期限が今日までのメンバー全員のチケットを一覧表示

クエリの条件はゴマのように小さい「+」アイコンをクリックすることで複数選択もできます。

■カスタムクエリをもっと自分色に

これだけでもかなり便利なカスタムクエリですが、使っていて不満に思うことがありました。

  • 1ページに表示するチケットの件数を100件固定にしたい
  • ソート順は期限日の昇順にしたい

もちろんチケット一覧画面の操作リンクをクリックすれば、表示件数の変更やソートはできます。 でも開いたときにいつも思ったとおりになっていないのは毎回毎回ストレスです。

この問題はブックマークしたURLにちょっと手を加えることで簡単に解決できます。

1ページに表示するチケット件数を100件として、ソート順を昇順にした例

http://redmine.example.com/issues?per_page=100&query_id=xxxx&sort_key=due_date&sort_order=asc'

どの変数を引き渡せばよいかは、チケット一覧画面のリンクURLをながめていただければカンのよい方はおわかりいただけるかと思います。

■カスタムクエリを最速で呼び出す

ブックマークでも便利といえば便利ですが、せっかく用意したカスタムクエリはいつでもすぐに開けるようにしておきたいものです。 キーボード操作派なのでマウスカーソルを動かす「ブックマーク」を普段あまり使用しないため、もう少し工夫をします。

Firefox限定ですが、2つの案をご用意しました。

・スマートキーワードの利用

Firefoxにはスマートキーワードという便利な機能が用意されています。わたしはこれを検索以外にブックマークの呼び出しとしても利用しています。 ブックマークの設定の「キーワード」として「red」を登録しています。

[Ctrl+L ] でロケーションバーへ移動して[red]を入力後[Enter]でいつでも自分のカスタムクエリにアクセスが出来るようになります。

・キーボードショートカットの割り当て

スマートキーワードでも便利なのですが、もっとキーボードの押下回数を減らしたい。と思い、キーボードショートカットを割り当てました。結果として、特定のキーを押すだけでいつでも自分のカスタムクエリが表示されるようになりました。

Firefoxのアドオンkeyconfigを導入します。 keyconfig設定画面の 「新しいキーを追加」するボタンにて以下のように設定します。

gBrowser.loadURI('http://redmine.example.com/issues?query_id=xxxxxx');

user.jsに書く場合の例)

Alt+Mで

http://redmine.example.com/issues?per_page=100&query_id=xxxx&sort_key=due_date&sort_order=ascを開く設定

user_pref("keyconfig.main.xxx_key__Redmine Mypage", "alt][M][][gBrowser.loadURI('http://redmine.example.com/issues?per_page=100&query_id=xxxx&sort_key=due_date&sort_order=asc');\n][chrome://browser/content/browser.xul");

一度設定すれば「自分色のカスタムクエリを最速で開く」ことができるようになります。 自分にとってあると便利なカスタムクエリについて一度見直してみてはいかがでしょうか。