このレッスンでやること
WebGoat は、Web サイトの形で動く、Web セキュリティの講座です。レッスンごとに弱点を説明し、それを実際に使う課題が出て、できると自動でチェックが付きます。このレッスンでは、登録をして、最初のレッスンを開き、いっしょに付いてくるもう 1 つのWeb サイト WebWolf を見ます。
大事なルール
注意
このラボは、わざと安全でなく作ったWeb サイトを動かします。攻撃してよいのは、このサイトだけです。あなた専用のコピーで、インターネットにはつながっていないので、ほかの人に影響はありません。自分のものでないサイトで、これらを試してはいけません。英国のコンピューター不正使用法(Computer Misuse Act 1990)では犯罪にあたります。
始める前に
メモ
このレッスンの上にあるバーのラボを起動を押し、「実行中」と出るまで待ちます。WebGoat は Java のプログラムで、バーが「実行中」になってから、さらに 1 分ほど起動が続きます。ステップ 1 で WebGoat に 502 と出たら、1 分ほど待ってから、もう一度実行を押してください。下の実行ボタンは、それぞれのコマンドをラボのターミナルに順番に入力します。すべて同じセッションで動きます。様子を見たり、自分でコマンドを打ったりしたいときは、バーのターミナルを開く(新しいタブ)を押します。
1. 2 つのWeb サイトが動いているか確かめる
WebGoat と WebWolf は、1 つのラボの中にある 2 つのWeb サイトです。200 は、Web サイトがサインインページを返したという意味です。502 は、まだ起動中という意味です。
curl -s -o /dev/null -w "%{http_code}\n" http://web/WebGoat/loginここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
curl -s -o /dev/null -w "%{http_code}\n" http://web:9090/WebWolf/loginここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
2. 登録する
バーの 1 つ目のリンク WebGoat を押します。Register(登録)を選び、好きなユーザー名とパスワードを決めます。このコピーはほかの人には見えないので、何でもかまいません。利用規約に同意して送信すると、レッスンの一覧が開きます。
3. 最初のレッスンを開く
左のメニューから Introduction を開き、WebGoat のページを読みます。次に General、そして HTTP Basics を開きます。読んだら、欄に自分の名前を入力して Go! を押します。サーバーが名前を逆に並べて返します。これが HTTP のリクエストとその答えです。レッスンはこのあとも課題が続き、正しくできるたびにメニューにチェックが付きます。リクエストそのものを見る方法は、WebGoat の基本 2 で学びます。
4. WebWolf に行ってみる
バーの 2 つ目のリンク WebWolf を押し、同じユーザー名とパスワードでサインインします。WebWolf は、「相手役」が必要なレッスンで、その役をしてくれる 2 つ目のWeb サイトです。たとえばメッセージやファイルを受け取るときに使います。使うときは、各レッスンが教えてくれます。
先生へ
ヒント
このレッスンは、ラボで進めるレッスンの小さな例です。手順と実行ボタンがレッスンで、ラボは生徒一人ひとりの専用コピーです。WebGoat は 1 つのラボに講座が丸ごと入っていて、終えたレッスンごとにチェックが付きます。ラボからあなたに送られるものはありません。チェックが付いたレッスンのスクリーンショットと、弱点の 1 つを自分の言葉で説明する 1 文を出させてください。自分のモジュールにコピーして変えることも、レッスンビルダーのラボメニューから一から作ることもできます。