Asial Blog

Recruit! Asialで一緒に働きませんか?

Burp Suiteで脆弱性診断

カテゴリ :
バックエンド(プログラミング)
タグ :
セキュリティ
PHP
JavaScript
こんにちは。坂本です。

今回は脆弱性診断ツールができるBurp Suiteというツールを紹介します。



このセキュリティ界隈では知らない人はいない有名なツールです。

Burp Suiteは脆弱性診断に必要な機能を揃えています。
・Webサイトへリクエストする情報を改ざんして脆弱性がないか確認する機能
・WebサイトをクローリングしてURLのリストを取得する機能
・取得したURLに対して脆弱性がないか診断をする機能
などなど

この機能を実現するためBurp Suiteはプロキシサーバとなります。
プロキシとなったBurp SuiteはWebサイトとブラウザの間に入りリクエストを傍受し脆弱性診断を行うことができます。



Burp Suiteの購入から起動


Burp Suiteで脆弱性診断をするにはライセンスを購入する必要があります。
まずは公式サイトでBurp Suiteのダウンロードを行います。

http://portswigger.net/burp/

2015年4月3日の価格では1年当たり1人299ドルが必要になります。
高いと思われると思いますがBurp Suite以外の信頼性のあるツールに比べると100倍安かったりします。

Burp Suiteの本体はjarファイルとなっておりMacであればダブルクリックで
Windowsであればbatファイルからの起動となります。

起動するとシンプルが画面が表示されます。



Burp Suiteの設定


購入したライセンスをBurp Suiteに適用させると脆弱性診断の機能を利用することができます。

Burpのプロキシ設定


診断を行う前にプロキシの設定を行う必要があります。
Proxyタブ中のOptionsタブを開きます。


AddボタンをクリックしてBind to portにポート番号を入力します。
ここでは8080を使用します。


プロキシ設定が上手くいけばリストに127.0.0.1:8080が追加されます。
これでBurp SuiteはIPが127.0.0.1で8080ポートを使ったプロキシが立ち上がります。


ブラウザのプロキシ設定


ブラウザの設定にプロキシの設定があるはずなので以下のようにHTTPプロキシと
SSL(HTTPS)プロキシに127.0.0.1と8080ポートを指定します。


これにより以降のブラウザのアクセスはすべてBurp Suiteプロキシを介したアクセスとなります。

脆弱性診断サイト設定


このままでは脆弱性診断ができないので診断するサイトを設定します。

ScannerタブのLive scanningタブを開いてください。


Include in scopeのAddをクリックして診断するサイトを追加します。
ここでは仮にwww.test.comとなっていますが実際には自分のサイトのドメインを入力してください。
間違っても関係のない有名なサイトのドメインを入力してはいけません。


入力がうまくいけばリストに追加されます。


診断開始


以上の設定が終わりましたらブラウザで自分のサイトにアクセスしてみてください。
URLに対して脆弱性診断が開始されます。
1つのURLに対して行われるリクエスト数はGET、POSTパラメータによって変わります。


脆弱性を含むサイトだった場合はScannerタブのResultsタブに結果が表示されます。
以下の例では致命的な脆弱性は出ていませんがXSSやSQLインジェクションが検出されると赤字で結果が表示されます。


どのような脆弱性を検出するかはScannerタブのOptionsタブで設定することができます。


さいごに


いかがでしたでしょうか?
脆弱性診断は面倒と思われますがこんなに簡単に検出できます。
逆に言うと少しの知識があればあっという間に脆弱性を悪用されてしまうことを意味しています。

最近はセキュリティを考慮したフレームワークを利用することがスタンダードだと思いますが
思いがけない穴が見つかることもあります。

くれぐれも気をつけてサイトを構築していってください。