~/ / problem1 · web
Web · Problem 01

会員名簿の裏口

100 ptsCWE-89 SQL Injection

状況

社内イントラの「社員名簿検索」画面を調査している。氏名を入れると部署とメールが 出てくる素朴な検索機能だが、裏側のクエリの組み立てが怪しい。データベースには 検索対象の employees テーブルのほかに、 管理者しか触れないはずの隠しテーブルが存在するらしい。 そこに保管されている機密(flag)を引きずり出せ。

社員名簿検索(攻撃対象)

名前で社員を検索します。入力はそのまま SQL に渡され、実行された SQL がレスポンスに表示されます

取っ掛かり(ヒント)

Claude Code に任せるなら:「/api/problem1 の検索は SQL 文字列連結で脆弱。 UNION ベースの SQLi で隠しテーブルの flag を抜き出す payload を組み立てて、 curl で実行して」

API 仕様

GET /api/problem1?q=<検索する氏名>

レスポンス(JSON): executed_sql / error / count / results

例: curl 'http://localhost:3000/api/problem1?q=Tanaka%20Hiroshi'

flag を提出

次の問題 → problem2 · forensics