【Webアプリ開発】セキュリティ入門③ awesome-cyber-skillsの紹介
本記事は下記の記事の続きです。
脆弱性に関する知識をある程度身につけた後は、脆弱性のあるWebアプリを使って学ぶことで理解が深まります。
本記事では脆弱性のあるWebアプリがいろいろと紹介されているawesome-cyber-skillsというGitHubリポジトリを紹介します。
awesome-cyber-skillsとは
下記はawesome-cyber-skillsというGitHubリポジトリのREADMEの文章を日本語訳したものですが、赤線箇所には次のように書かれています。
サイバースキルをトレーニングするということは、ハッキングスキルを最新の状態に保つことも意味します。これを行うには、無料で、合法的に、そして安全に練習できる環境が必要です。
この目的のために、私はあなたが訪問してあなたのサイバースキルを練習することができるウェブサイトのリストを作りました。サイトごとに全体的に異なる角度があるので、その詳細をいくつかの言葉で要約します。
いくつかのサイトはあなたを助けるためにあなたにチュートリアルを提供します、他のものはあなたがあなた自身で物事を見つけることをあなたに要求するでしょう。
awesome-cyber-skillsには無料で、合法的に、安全にセキュリティの技術を身につけるための練習ができる環境のリストがありますので、そこから自分にあった環境を簡単に見つけることができます。
下記のようにリストはアルファベット順に並んでいます。
awesome-cyber-skillsへの行き方
awesome-cyber-skillsのリポジトリへの行き方ですが、検索を使うのが便利です。
「cyber skill github」というワードで検索するとすぐに見つかります。
下記にリンクを貼っておきます。
おすすめの脆弱性のあるアプリ3選
awesome-cyber-skillsのリストの中にある私がおすすめする脆弱性のあるアプリは次の3つです。
Dawn Vulnerable Web App(DVWA)
Juice Shop
WebGoat
Damn Vulnerable Web Appが紹介されている箇所です。
Juice Shopが紹介されている箇所です。
WebGoatが紹介されている箇所です。
DVWAの概要
DVWAでは左側にいろいろな脆弱性が並んでおり、例えば「SQL Injection」を選択してみます。
その結果、SQL Injectionの練習ができるページに遷移します。
Juice Shopの概要
Juice Shopは脆弱性のあるECサイトで、いろいろな箇所に脆弱性が意図的に埋め込まれており、ゲーム感覚で脆弱性を発見していくことでセキュリティ技術を身につける学習教材です。
「score-board」というページが用意されており、そこでは埋め込まれている脆弱性の内容、難易度、進捗状況などを確認することができます。
WebGoatの概要
WebGoatもDVWAと同様に左側にいろいろな脆弱性が並んでおり、例えば「Injection」を選択してみます。
WebGoatはDVWAと違って指示に従って順番に進めていくタイプの学習環境です。
下記のページにはSQL Injectionに関する解説があります。
下記のページはSQL Injectionの練習ができるページです。
DVWAとJuice ShopとWebGoatを選んだ理由
私がDVWAとJuice ShopとWebGoatを選んだ理由は次の4つに該当したからです。
1.GitHubのスター数が多い
2.現在も更新されている
3.Docker環境がある
4.情報収集がしやすい
DVWAの場合
GitHubのスター数が5.4kもあります。
現在も更新されています。
Docker環境が用意されています。
YouTubeにチュートリアル動画があります。
Juice Shopの場合
GitHubのスター数が4.8kもあります。
現在も更新されています。
Docker環境が用意されています。
YouTubeにチュートリアル動画があります。
WebGoatの場合
GitHubのスター数が4kもあります。
現在も更新されています。
Docker環境が用意されています。
YouTubeにチュートリアル動画があります。
本記事ではawesome-cyber-skillsというGitHubリポジトリの紹介と、そこで紹介されている3つの脆弱性のあるアプリ(DVWA, Juice Shop, Web Goat)について簡単に紹介しました。
また、次の記事でお会いしましょう。