チャレンジ一覧
カテゴリと難易度で絞り込みながら、興味のある問題を探せます。
Linux Level 3: ★★★☆☆ Linux-競合状態. TOCTOUの隙を突いてroot権限のファイルを奪え
rootが定期的に実行するクリーンアップスクリプトには、チェックと処理の間に隙(TOCTOU)があります。シンボリックリンクをうまく使ってこの隙を悪用してみてください。
Forensics Level 3: ★★★☆☆ NTFS $MFTから削除ファイルの痕跡を探せ
NTFS の Master File Table を書き出した `mft_records.txt` を解析し、削除されたファイルの情報を復元してください。NOT_ALLOCATED(削除済み)でも上書きされていない常駐 ...
General Skills Level 3: ★★★☆☆ Python自動化 - REST API データ収集
コンテナ内で `http://127.0.0.1:8000/api/records?page=N` というページ送りのローカルAPIが動いています。`next` が `null` になるまで全ページを巡回し、`tag =...
Programming Level 3: ★★★☆☆ Python自動化 - SQLiteデータベース解析
data.db は業務データの SQLite データベースです(users / orders / audit_log)。フラグは、注文合計額(SUM(amount))が最も大きい唯一のユーザーの security_not...
Programming Level 3: ★★★☆☆ Python自動化 - カスタム暗号の復号
cipher.txt には独自の暗号でエンコードされたフラグが16進で入っています。暗号化は各バイトに add(鍵加算) -> xor(位置依存) -> rotl(巡回シフト) を適用したものです。この逆変換を Pyth...
Programming Level 3: ★★★☆☆ Python自動化 - 暗号化ZIPのパスワードクラック
secret.zip は弱いパスワードで暗号化された ZIP で、中に flag.txt があります。同梱の wordlist.txt を使い、Python 標準ライブラリの zipfile でパスワードを総当たりして ...
General Skills Level 3: ★★★☆☆ SQLクエリマスター - 複雑な結合
SQLiteデータベース /app/company.db には3つのテーブルがあります: - employees (id, name, department_id, salary) - departments (id, ...
Web Level 3: ★★★☆☆ Web-21. Secure User Searchのブラインドインジェクション
このユーザー検索アプリはユーザー名の存在有無だけを返しますが、直接的な検索結果は表示しません。エラーの発生有無やレスポンスの違いを手がかりに、隠された情報を推測できないか確認してみましょう。
Web Level 3: ★★★☆☆ Web-22. Secure Comment BoardのCSPバイパス
このコメント掲示板はContent Security Policy(CSP)で保護されており、スクリプトの実行元を自サイトと信頼済みCDNのみに制限しています。信頼されたCDNの中身まで安全とは限らない点に注目してみまし...
Web Level 3: ★★★☆☆ Web-23. Secure Authentication Systemの型変換の罠
このログインポータルはフォームログイン・JSON API ログイン・検証コードチェックを備えています。管理者アカウントの本当のパスワードは分かりませんが、比較処理の実装次第では回避できるかもしれません。
Web Level 3: ★★★☆☆ Web-24. Secure Bankの競合状態を突く
Secure Bankではコイン残高を使ってショップで景品を購入できます。残高チェックと引き落とし処理が別々のステップで行われている場合、その間隙をどう突けるか考えてみましょう。
Web Level 3: ★★★☆☆ Web-25. Greeting Card GeneratorのSSTI
このグリーティングカード作成アプリはFlask/Jinja2で作られており、入力したメッセージをそのままテンプレートエンジンでレンダリングしています。テンプレート構文がどこまで実行されてしまうか調べてみましょう。
Programming Level 3: ★★★☆☆ アルゴリズム - 迷路のBFS最短経路
data.txt の S から E までの最短経路を BFS で求め、UDLR の移動列を challenge.py に入力してください。正しい経路で起動時注入 FLAG が表示されます。
Forensics Level 3: ★★★☆☆ イベントログからブルートフォース攻撃を検出せよ
認証ログ `auth.log` を解析して、ブルートフォース攻撃の痕跡を見つけてください。失敗ログインを送信元IPごとに集計し、突出して失敗の多いIPが最後に成功したログイン付近にフラグがあります。
General Skills Level 3: ★★★☆☆ システムコール追跡 - strace デバッグ
ソースコードのないプログラム `/app/mystery_program` の挙動を記録した `/challenge/strace.log` を解析します。`openat` で隠しディレクトリ内のファイルを開いている箇所...
General Skills Level 3: ★★★☆☆ システムログ解析 - journalctl マスター
systemd ジャーナルを書き出したログ `/challenge/system.log` を解析します。認証サービス(`authd`)かつ `ERR` レベルのログ行はただ1件で、その行にフラグが含まれます。`grep...
General Skills Level 3: ★★★☆☆ ネットワークマスター - Netcat リバースシェル
外部ホストへ接続せず、記録済みのcallback transcriptを解析してください。リスナーやシェルは起動されません。callback-analysis行の符号化payloadからフラグを復元します。
Network Level 3: ★★★☆☆ ネットワーク解析 - SNMP情報漏洩
弱いコミュニティ文字列(public)で SNMPv2c を喋る機器の GetResponse をキャプチャしました。配布されるパケットキャプチャ(traffic.pcap)から SNMP(UDP/161)の varbi...
Network Level 3: ★★★☆☆ ネットワーク解析 - SSL Stripによる平文認証情報
SSL Strip 攻撃により HTTPS が HTTP に格下げされ、被害者の認証情報が平文で流れた通信をキャプチャしました。配布されるパケットキャプチャ(traffic.pcap)から平文HTTPのPOSTを解析し、...
Network Level 3: ★★★☆☆ ネットワーク解析 - 独自プロトコルの解読
独自の簡易バイナリプロトコルで通信するシステムのトラフィックをキャプチャしました。配布されるパケットキャプチャ(traffic.pcap)から、TCPポート9999のフレーム構造を解析し、ペイロードをデコードしてフラグを...
General Skills Level 3: ★★★☆☆ パフォーマンス解析 - リソースホッグを見つけろ
システム性能メトリクスの記録 `/challenge/metrics.log` を解析します。CPU・メモリともに突出した異常プロセスを1つ特定し、そのフルコマンドライン引数を読むとフラグになります。中程度の負荷を持つお...
Programming Level 3: ★★★☆☆ プログラミング - SQLite証拠データベースの解析
evidence.db は起動時に注入された FLAG から生成されます。users/access_log JOINで最大trust_scoreのnoteをBase64復元してフラグを取得してください。
Programming Level 3: ★★★☆☆ プログラミング - Webスクレイピングとグラフ探索
site.json は起動時に注入された FLAG から生成されます。linkグラフのorder順comment Base64断片を結合してフラグを取得してください。
Programming Level 3: ★★★☆☆ プログラミング - ZIPパスワードの復元
archive.json は起動時に注入された FLAG から生成されます。wordlistでpassword_sha256一致語を探し鍵byte XOR復号してフラグを取得してください。