脆弱性のテストツールをテストするためのサンプルアプリケーションまとめ

脆弱性のテストツールをテストするときの困りどころ

脆弱性のテストをするためのツールを検証しようと思ったとき、困るのが「どこのサイトを対象にテストするか」です。うっかり一般に公開されているサイトでテストすると、業務妨害になりかねません。
世の中には、脆弱性をテストするためにわざと脆弱性やバグを仕込んだサンプルアプリケーションが、親切にも公開されています。自分が試したくなった時のためにまとめてみました。なおサンプルアプリケーションの情報は2019年5月時点のものです。

脆弱性を勉強するために(2022/06追記)

2022年6月の JaSSTソフトウェアテストシンポジウム-JaSST'22 Kansai のセッションや参加した方のtwitterにて脆弱性を学ぶためのサイトがいくつか紹介されたのでリンクしておきます

OWASP Top10

Webのセキュリティの啓蒙活動をしてる世界的な団体であるOWASPが毎年発表している脆弱性Top10です。有志の方が翻訳されており日本語版もあります。
owasp.org

Kontra

こちらは英語のサイトです。脆弱性を体験できる有償のプラットフォームですが、2022/06現在無償で、上記のOWASP Top10の脆弱性などいくつかのメジャーな脆弱性を体験できるようになっています。
application.security

サンプルアプリケーションのリンク集

1. Easy Buggy

脆弱性やバグの動きを理解するために作られたバグだらけのアプリケーションです。Javaがインストールされていれば手軽に動かせます。Boot版やPython版も用意されています。日本語のREADMEがあり、インストール方法や動かし方も分かりやすいです。
メモリリークデッドロックJVMクラッシュ、SQLインジェクションなどが試せます。
ダウンロードはこちらから。
github.com

2. OWASP Broken Web Applications

Webのセキュリティの啓蒙活動をしてるOWASPが公開している脆弱性診断練習用のWebアプリケーションです。VirtualBox上で動きます。練習用に作られているだけあって、よく知られている脆弱性は一通り試せます。
こちらのサイトからイメージが落とせます。
sourceforge.net

以前脆弱性診断ツールのOWASP ZAPの勉強会に参加した際に知りました。Virtual Boxでの設定方法は、こちらのブログで分かりやすく紹介されています。
nilfigo.hatenablog.com

3. AppGoat

IPAが公開している脆弱性体験学習のツールです。IPAに利用申請がいるので使ったことはないのですが、紹介しておきます。
www.ipa.go.jp

知っているもの、調べて出てきたものを挙げてみました。「他にもこんなのもあるよ!」などありましたら、コメントなどでお知らせいただけると助かります。