チャレンジ一覧

絞り込みを解除

177 問 (2 / 8 ページ)

WebセキュリティLevel 1★☆☆☆☆

Web-04. robots.txtの落とし穴

Webサイトにはクローラー向けに robots.txt が置かれていることがあります。この問題では、robots.txt がクロール除外を指定しているファイルに実際にアクセスできるかどうかを確認します。

WebセキュリティLevel 1★☆☆☆☆

Web-05. ディレクトリリスティングの罠

Nginxサーバーであるディレクトリのインデックス表示(autoindex)が有効になっている場合、本来隠しておきたいファイル一覧が誰でも見えてしまいます。公開されているディレクトリを調べてみましょう。

WebセキュリティLevel 1★☆☆☆☆

Web-06. HTTPヘッダーの偽装

このアプリケーションは特定のHTTPヘッダーの値をもとにアクセスを許可しています。ブラウザの通常操作では送られない値でも、リクエストを作り直せば自由に変更できます。

WebセキュリティLevel 1★☆☆☆☆

Web-07. URLパラメータの改ざん

このWebアプリケーションは、URLのGETパラメータ key の値をサーバー側でチェックします。必要なパラメータ名と値はページの説明やヒントから分かります。正しい key を指定すると、サーバーがフラグを返します。

WebセキュリティLevel 1★☆☆☆☆

Web-08. POSTデータの改ざん

ログインフォームには見た目には分からない隠しフィールド(hidden input)が含まれています。開発者ツールで確認し、送信データを書き換えられないか試してみましょう。

WebセキュリティLevel 1★☆☆☆☆

Web-09. Basic認証の甘い罠

保護されたエリアにはHTTP Basic認証がかかっていますが、開発者が誤って認証情報をページのHTMLコメントに残してしまっています。ページのソースを確認してみましょう。

WebセキュリティLevel 1★☆☆☆☆

Web-10. リダイレクトの裏側を見る

あるページにアクセスすると即座に別ページへリダイレクトされてしまいます。ブラウザは自動でリダイレクトに従いますが、その前のレスポンス本文を確認する方法を考えてみましょう。

WebセキュリティLevel 1★☆☆☆☆

XSS基礎 - ゲストブック

このWebアプリケーションには基本的なXSS脆弱性があります。ゲストブックの表示に入力がそのまま反映される箇所を探しましょう。フラグは、管理者のブラウザだけが読める内部エンドポイントにあります。ページの「管理者に確認してもらう」を押すと、管理者があなたの message を開きます。

プログラミングLevel 2★★☆☆☆

APIリクエスト - 最大利益取引の特定

コンテナの起動時に、株価API が http://localhost:9102 で動き始めます(server.py を起動する必要はありません)。5銘柄・約2000件の取引を GET /api/stocks と GET /api/stocks/<symbol> で取得し、sell_price - buy_price が最大の取引を1件だけ見つけて、その id を POST /api/check に {"id": "..."} の形で送ってください。正しい id のときだけ応答にフラグが含まれます。取引データは起動のたびに作り直されます。誤答は3回までで、超えるとそのコンテナでは正解でも受け付けられなくなります。

フォレンジックLevel 2★★☆☆☆

Apacheログから攻撃を見つけよ

Apache access.log(common 形式)を解析して、SQLインジェクション攻撃の痕跡を見つけましょう。攻撃が成功したのか失敗したのかを見分け、攻撃者が仕込んだ内容を読み取ってください。 ログ解析とパターンマッチングを学びます。 提供ファイル: access.log

フォレンジックLevel 2★★☆☆☆

Excelマクロに隠されたフラグ

Excelマクロ付きブックに埋め込まれたマクロのコードを解析して、隠された認証コード(フラグ)を見つけましょう。 Office文書のマクロ解析方法を学びます。この教材では、マクロのソースはテキストでファイルの中に入っています。 提供ファイル: spreadsheet.xlsm

LinuxLevel 2★★☆☆☆

Linux-02. sudoで許可されたvimからの権限昇格

一般ユーザーがsudoでパスワードなしに実行できるコマンドを確認してみましょう。GTFOBinsで知られるテクニックを使うと、そのコマンドからシェルへ抜け出せる場合があります。

LinuxLevel 2★★☆☆☆

Linux-03. cron設定ファイルを読み解け

このシステムには複数のcron設定(/etc/cron.d、/etc/crontab、ユーザーcrontabなど)が存在します。それぞれの設定ファイルを確認し、フラグが書き込まれた場所を見つけてください。

LinuxLevel 2★★☆☆☆

Linux-Cron権限昇格. 書き込み可能なrootスクリプトを乗っ取れ

rootが定期実行するcronスクリプトのパーミッションを確認してみましょう。一般ユーザーでも書き込めてしまう場合、次の実行タイミングでどんなコードが動くか考えてみてください。

LinuxLevel 2★★☆☆☆

Linux-systemd. サービスユニットの環境変数を確認せよ

systemdのユニットファイルには [Service] セクションで環境変数を設定できます。登録されているサービス定義を調べ、そこに設定された値を確認してください。

LinuxLevel 2★★☆☆☆

Linux-シンボリックリンク迷路. 分岐する道を辿り抜け

複数のディレクトリがシンボリックリンクで複雑に繋がっています。おとりのヒントファイルに惑わされず、リンクを1つずつ辿って本物のフラグファイルまでたどり着いてください。

LinuxLevel 2★★☆☆☆

Linux-スクリプトデバッグ. 壊れたbashスクリプトを直せ

このスクリプトには複数の意図的なバグ(タイポ、構文ミスなど)が仕込まれており、最後まで実行されません。bashのデバッグ機能を使ってバグを1つずつ直してください。

LinuxLevel 2★★☆☆☆

Linux-ネットワーク基礎. リッスン中のポートに接続せよ

このシステムではバックグラウンドで特定のポートをリッスンするサービスが起動しています。ss/netstatでポートを特定し、ncで接続してフラグを受け取ってください。

LinuxLevel 2★★☆☆☆

Linux-バックアップ探索. 紛れ込んだ一時ファイルを見抜け

プロジェクトディレクトリには .bak や .tmp、~ で終わる紛らわしいバックアップ/一時ファイルが複数あります。本物のフラグは隠しファイルの中に隠れています。

LinuxLevel 2★★☆☆☆

Linux-パイプライン. grepとawkの連携でログを絞り込め

アクセスログには大量のアクセス記録が含まれています。あるIPアドレスが短時間に多数の404を出しており、その一連のリクエストのパスをつなげるとフラグになります。grep・awk・sort・uniq などをパイプで組み合わせて組み立ててください。

LinuxLevel 2★★☆☆☆

Linux-パッケージ情報. インストール済みパッケージの詳細を調べよ

このシステムには自作のdebパッケージがインストールされています。dpkgやaptを使ってパッケージの詳細情報を確認し、その説明文に隠された情報を見つけてください。

LinuxLevel 2★★☆☆☆

Linux-プロセス追跡. 動き続けるプロセスの正体を暴け

複数のバックグラウンドプロセスが動いている中に、コマンドライン引数にフラグを持つものが1つ紛れています。psコマンドで一覧を確認し、それを見つけ出してください。

LinuxLevel 2★★☆☆☆

Linux-ユーザー調査. awkで対象ユーザーを絞り込め

このシステムには複数のユーザーが登録されています。/etc/passwdをawkで解析して特定の条件に合うユーザーを見つけ、そのホームディレクトリの隠しファイルを確認してください。

LinuxLevel 2★★☆☆☆

Linux-ログローテーション. 圧縮された過去ログを検索せよ

ログローテーションによって一部の古いログファイルはgzip圧縮されています。展開せずに圧縮ファイルの中身を検索するコマンドを使ってフラグを探してください。