かわろぐ

技術、ボルダリング、セキュリティ、その他もろもろ

MENU

Nikto を使ってWebサイトの脆弱性をチェックしてみる

環境

Nikto とは

Nikto とはオープンソースの Web サーバと Web アプリを対象とした脆弱性診断ツールの一つです。WebアプリにあるXSSやSQLインジェクションなどの脆弱性はもちろんのこと、Webサーバを始めとしたミドルウエアの脆弱性もチェックしてくれます。

ツールの実行は必ず自分の管理する環境に対して行ってください。管理下にない環境に対して実施すると不正アクセス禁止法などに抵触する可能性があります。

BadStore をスキャンしてみる

まず Kali linux と BadStore を VirtualBox にて仮想マシンとしてセットアップします。それぞれをNatNetworkで相互に通信できるようにします。Kali linux が 10.0.2.6 で、 BadStore が 10.0.2.7 の IP が振られているものとしてすすめます。

Kali linux はデフォルトで Nikto が使えるようになっているので、以下のコマンドで BadStore をスキャンしてみます。 -h はスキャン対象ホストを指定するオプションです。

# nikto -h 10.0.2.7

f:id:kawa_xxx:20170717140620p:plain

脆弱に作られた練習用の Web サイトだけあって色々出ますね。

少しレポートを見てみると、使っているApache のバージョンに深刻な脆弱性があったり、mod_ssl が古かったり、ミドルウエアのバージョンが出ていたり、XSSプロテクションヘッダーが付いていないことなどなど、一つ一つエンジニアが調べていたら時間がかかるし、抜け漏れが出てしまいそうですよね。

おわりに

こういうツールで定期的にスキャンかけて、脆弱になっている部分がないかなど確認するとWebアプリを最低限安全な状態に保てますね。

Webセキュリティ担当者のための脆弱性診断スタートガイド 上野宣が教える情報漏えいを防ぐ技術

Webセキュリティ担当者のための脆弱性診断スタートガイド 上野宣が教える情報漏えいを防ぐ技術