LoginSignup
40

More than 5 years have passed since last update.

Securityの勉強を始めるなら一度は試したい簡単な脆弱なWebアプリケーションの構築

Last updated at Posted at 2016-11-09

Webアプリケーションの脆弱性を、簡単に試すのにいい方法ないかなと思う人向け

脆弱なWebアプリケーションのテストをするためにOwaspbwaなどといった仮想環境を構築する方法もありますが、もっと簡単にテストできる環境をぱっと作ります。テストするとよりかは大きな脆弱性10個について確認できるだけのアプリケーションですが...

OWASP Top10とは

OWASP(Open Web Application Security Project)は、Webアプリケーションのセキュリティに関するオープンソースのコミュニティで、OWASP Top10は、最も重要なWebアプリケーションの脆弱性について解説したドキュメントです。

その10個の脆弱性について簡単に試すことができるWebアプリケーションを自分のローカル環境に構築します。(Security_Ninjas_AppSec_Training)

手順

php.ini がローカル環境のどこにあるのか php -info | grep php.ini で確認しておきます。Macではデフォルトで、 php.ini ではなく php.ini.default/etc/ にあるので以下のようにしています。他の場所にphp.ini がある場合は、適宜パスを変えて sudo cp /etc/php.ini /etc/php.ini.orig などとバックアップをしておいてください。

mkdir ~/owasp && cd ~/owasp
git clone https://github.com/opendns/Security_Ninjas_AppSec_Training.git
cd Security_Ninjas_AppSec_Training
sudo cp php.ini /etc/    
sudo mkdir /Library/WebServer/Documents/test/
sudo cp -R src/Final/* /Library/WebServer/Documents/test/
sudo chmod 777 /Library/WebServer/Documents/test/*.txt    
sudo apachectl start

この後、ブラウザでlocalhost/test/を開くと以下のようになります。XSSの確認を行うにはGoogle ChromeはデフォルトでXSS Auditorをオンにしているので、それをオフに切り替えるか、Firefoxで開くと良いでしょう。

Screen Shot 2016-11-09 at 23.47.43.png

10個のタブが出てきてそれぞれが異なる脆弱性を持つので自分で脆弱性についてテストすることができます。
Screen Shot 2016-11-10 at 0.09.03.png

HintとSolutionがあるのでそれを見るとOWASP Top10の脆弱性がイメージできると思います。

テストが終わったら

sudo apachectl stop
sudo rm /etc/php.ini
#もしphp.iniがもとからあってバックアップをしたならそれをphp.iniに戻します.
rm -rf /Library/WebServer/Documents/test/

サーバーを止めてディレクトリごと消しておきます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40