PicoGym Crack the Gate 2

問題リンク https://play.picoctf.org/practice/challenge/521 概要 ログインフォームが与えられ、「emailは特定したので 侵入してね」というもの サイトURLとEmailとは別に、パスワードのリストも与えられます 本問は“Crack the Gate 1”という問題の続きという位置づけ 予備知識 X-Forwarded-For ヘッダー リクエストヘッダーの一種です。 端的に言えば、元のクライアントのIPアドレスをウェブサーバーに 伝えるためのHTTPヘッダーフィールドです 以下サイトがわかりやすいです https://developer.mozilla.org/ja/docs/Web/HTTP/Reference/Headers/X-Forwarded-For パスワードリスト攻撃 何らかの手法で手に入れたIDとパスワードのリストを使って サービスに不正ログインを試みるという、攻撃手法の一種です 今回の問題では、ID固定でパスワードのリストが与えられており、 これを使って擬似的にパスワードリスト攻撃を仕掛けます 解き方 パスワードリストをとりあえず試すと、2回目の試行でToo many failed attempt. Please try again in 20 minutes.となってしまいブロックされます 前の問題(Crack the Gate 1)のバックドアである X-Dev-Acess: yesを設定してもダメです 「システムはユーザーがコントロールするHeaderを信頼するかも」 というヒントが問題文で与えられていて、どうやらX-Forwarded-Forの値(IPアドレス)を書き換えながら 攻撃を仕掛ければこちらのIPアドレスを偽装することができるらしいです やり方としては、burpsuiteのIntruderタブからPitchfork attackを選び、 リクエストヘッダーのX-Forwarded-Forを書き換え続ける リクエストボディのpasswordフィールドでパスワードリストの全パターンを試す ということをすればOKです 実際に攻撃を仕掛けると、以下のようなResultが得られます Request Payload1 Payload2 Status code Response receive Error Timeout Length Comment 1 100 l9xKfsH0 200 250 false false 252 2 101 rCRnekkE 200 202 false false 368 3 102 wqMh5SQT 200 196 false false 252 4 103 9JL7BM3W 200 194 false false 252 5 104 OtrkErZU 200 209 false false 252 6 105 xr5N5yun 200 203 false false 252 7 106 FAfQ34Dr 200 261 false false 252 8 107 xAzOtoGy 200 205 false false 252 9 108 NT4Vm1FC 200 191 false false 252 10 109 aRhrp17j 200 204 false false 252 11 110 5vcxz5xZ 200 184 false false 252 12 111 SooyOtMf 200 232 false false 252 13 112 qpTlHqaG 200 207 false false 252 14 113 0AwkENeB 200 160 false false 252 15 114 tfkwkm3g 200 189 false false 252 16 115 UToyxdBs 200 204 false false 252 17 116 NWj5rDBm 200 204 false false 252 18 117 LiVR9e3g 200 306 false false 252 19 118 3v6avTIP 200 197 false false 252 20 119 jcEoe8hx 200 204 false false 252 上記は攻撃1回ごとに対応するレスポンスの統計値を表しているのですが、 Length(つまりレスポンスの長さ)に注目すると一つだけ長さが368のものが見つかります ...

November 20, 2025 · 2 min