Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

This article is a Private article. Only a writer and users who know the URL can access it.
Please change open range to public in publish setting if you want to share this article with other users.

IPA 謹製の脆弱性体験学習ツール AppGoat を触ってみた

0
Posted at

はじめに

IPA のサイトを眺めていたら AppGoat という学習ツールを見つけました。勉強のために触ってみます。

改訂履歴

  • 2026/03/28 : 初版公開。

本文

1. ダウンロード方法

利用申請後、メールアドレスにダウンロードの詳細が送信されます。

2. AppGoat で学べる内容

全部で 12 種類の脆弱性を実習形式で学べるようです。実際に学習してみたので、各項目のハイライトだけ記事にまとめていきます。

2-01. クロスサイト・スクリプティング (XSS)

URL にスクリプトを仕込むことで、サイトの表示を変えることができます。

2-02. SQL インジェクション 

入力欄に SQL を入れることで、ログインできてしまいました。

2-03. クロスサイト・リクエスト・フォージェリ (CSRF)

ログイン中に、別のブラウザからパスワードの変更ができてしまいました。

2-04. ディレクトリ・トラバーサル

URL に ../ を含めることで、見れちゃダメなファイルを見れました。

2-05. OS コマンド・インジェクション

変更後ファイル名のテキストボックスに OS コマンドを入れると、C ドライブの中身が見れちゃいました。

2-06. セッション管理の不備

手順が複雑なので細かい説明は省きますが、セッション ID の固定化攻撃を演習できます。

2-07. 認証制御や認可制御の欠落

URL の user_no の値を変えるだけで、他人の情報が覗けてしまいました。

2-08. HTTP ヘッダ・インジェクション

Cookie を改ざんできました。

2-09. バッファオーバーフロー

AppGoat は PHP 製のため、疑似的に挙動を再現しているようです。

2-10. クリックジャッキング

少しずれちゃってますが、罠ページの上に、ログイン中のウェブサイトが透明に重ねられているイメージを確認できます。

2-11. メールヘッダ・インジェクション

piyo@piyo.com を注入しました。

2-12. その他の脆弱性 (システム情報漏えい等)

詳細なエラーメッセージやデバッグモードの起動から、内部のシステム情報を漏洩させることができました。

おわりに

基礎学習として Web セキュリティの古典的な脆弱性を学ぶのに、良いツールだと思いました。ひとつずつちゃんと進めていくと、余裕で数時間はかかります。僕は休日が丸々つぶれちゃいました :joy:

0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?