クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

WebGoat の基本

レッスン全文をここで読めます。無料アカウントを作成すると、実際のラボで実践できます。

コンテナラボ読了目安 6分コマンド2個

このレッスンでやること

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 文を出させてください。自分のモジュールにコピーして変えることも、レッスンビルダーのラボメニューから一から作ることもできます。

このラボのほかのレッスン

このラボとソースについて: WebGoat のラボ:自分のコピーで WebWolf と進める、手順つきの Web セキュリティ学習

授業で教えていますか?これらのレッスンを生徒に割り当て、採点と生徒ごとのラボを使えます。