チャレンジ一覧
正規表現エキスパート - データバリデーション
/challenge/data.txt には受付記録が400行あり、各行にメールアドレス・電話番号・IPアドレス・日付が行ごとに違う順番・ラベルで並び、最後に memo="..." があります。書式が壊れた項目や、項目が無い行もあります。 次の条件をすべて正しい書式で1行に含む行はただ1行で、その行の memo がフラグです。 1. メールアドレス(xxx@yyy.zzz) 2. 電話番号(xxx-xxxx-xxxx または xxx.xxxx.xxxx。数字の桁数はこのとおり) 3. IPアドレス(xxx.xxx.xxx.xxx。数字1〜3桁を4つ) 4. 日付(YYYY-MM-DD) memo に KINOCO{...} の形の値を持つ行はほかにもありますが、どれも1つの条件が欠けています。正規表現を組み合わせて絞り込んでください。
音声ファイルに隠されたデータ
`hidden.wav` にはオンオフ変調(OOK)で符号化されたメッセージが隠されています。トーンのオン/オフをビット化してデコードし、フラグを取得してください。 参照用のデコーダは付いていません。標準ライブラリの `wave` モジュールなどで、自分で信号を読み解きます。 提供ファイル: hidden.wav
高度な自動化 - ディレクトリ監視スクリプト
`/challenge/logs/` に Web フロントエンド4台分のアクセスログ(combined log format、60ファイル・10万行超)があります。WAF は多数の送信元IPについて、それぞれ1行だけ `waf_rule=... note=...` を書き残しており、どの note もフラグの形をしています。フラグは、ステータスコード 404 のリクエスト数が最も多い送信元IPの行にある note です。404 が少し少ない別のスキャナー、総リクエスト数が最多のIP(ほとんど 200)、403 が最多のIP、通常の客のIPにも note があり、これらはおとりです。404 を IP ごとに集計して特定してください。