Skip to content

Latest commit

 

History

History
91 lines (59 loc) · 3.62 KB

usage.md

File metadata and controls

91 lines (59 loc) · 3.62 KB

使い方

インストール手順の通りにインストールいただいた後に、以下の順序でソフトウェアを起動してください。

  • Bad Todo List(Docker)を起動する
  • Burp Suiteを起動する
  • Burp SuiteからChromiumを起動する
  • Chromiumにて、https://todo.example.jp/ にアクセスする

この後の手順は以下となります。

  • サイトを一通り巡回する
  • 会員登録、Todo登録などを実際にやってみる
  • 画面一覧表を作る
  • ウェブ健康診断仕様などを用いて診断する
  • 報告書を作成する
  • 報告書作成
  • 診断後の後始末

概要は、拙著「安全なWebアプリケーションの作り方 第2版」の7章を参照ください。

罠ページの作成

高品位の脆弱性診断を実施するには、罠ページを実際に作成して、受動的攻撃が成立するかどうかを確認する必要が生じます。罠ページはローカルに作成することもできますが、できるだけ本番に近い環境を用意する意味で、罠ページ用の区画を用意しました。

コンテナ環境の www/html/trap/ フォルダに環境を用意してあります。ここに設置したファイルは、実習環境トップの「罠サイト(中身は実習にて作成)」からアクセスすることができます。

Nginxのキャッシュの削除

Nginxのキャッシュがウザい場合がよくあります。キャッシュを削除するには以下のスクリプトが利用できます。

Windows(PowerShell)

PS C:badtodo> .\scripts\delcache.ps1

Windows(CMD)

C:badtodo> .\scripts\delcache.bat

Mac / Linux / WSL

$ ./scripts/delcache.sh

初期化用スクリプト

コンテナを維持したままデータを初期化するには、以下のスクリプトが利用できます。

Windows(PowerShell)

PS C:badtodo> .\scripts\init.ps1

Windows(CMD)

C:badtodo> .\scripts\init.bat

Mac / Linux / WSL

$ ./scripts/init.sh

ヒント

ウェブ健康診断仕様をよく確認しよう

Bad Todo Listはウェブ健康診断仕様を網羅するように作成されており、ウェブ健康診断仕様の(A)~(M)の大項目はすべて入っています。小項目の中には該当しないものもありますが、できるだけ多くの項目が入れてあります。これがヒントになります。

SSRF攻撃先

SSRF(Server Side Request Forgery)脆弱性を試す攻撃先として、以下のホストが利用できます。こちらは、外部からは直接アクセスできない設定になっています。

  • internal.example.jp

データベースの中身をカンニングする

Adminerを使って、データベースの中身をカンニングすると、脆弱性の確認がしやすくなります。完全なブラックボックステストで敢えて頑張りたい人は、この限りではありませんw

クエリーログ

MySQLのクエリーログは、badtodo-dbコンテナの下記のファイル名で保存されます。

/var/lib/mysql/query.log

クエリ文字列 rnd

クエリ文字列 rnd は乱数文字列が入っていますが、アプリ側で利用はされておらずキャッシュバスターとして使われています。診断対象とする必要はありません。キャッシュバスターの意味については徳丸本2版の4.15.2節「キャッシュからの情報漏洩」中の「◆ URLに乱数値を付与する方法」を参照ください。