PicoGym Crack the Gate 1
問題リンク https://play.picoctf.org/practice/challenge/520 概要 ログインフォームが与えられ、「emailは特定したので 侵入してね」というもの 予備知識 HTTPリクエスト webページでなにかを送受信したりするときは大抵HTTP(HTTPS) メッセージでやり取りをする。 HTTPメッセージの中でリクエストメッセージのフォーマットは 次の通りになっている POST /login HTTP/1.1 ←リクエストライン hoge: aaa ←メッセージヘッダーが空行まで続く fuga: bbb {"hogehoge": "" ←ここからメッセージボディ ... } リクエストラインは宛先、メッセージヘッダーはメタ情報、 メッセージボディは送りたいもの本体みたいなイメージ burpsuite ブラウザからHTTPリクエストを送る時に、「送る前に一旦 内部で止めて書き換えてから送る」を可能にするソフト 解き方 「開発者が秘密裏に取り残した」とか書いてあるので、 ブラウザのDeveloperツールでコードを見てみると <!-- ABGR: Wnpx - grzcbenel olcnff: hfr urnqre "K-Qri-Npprff: lrf" --> <!-- Remove before pushing to production! --> というコメント文があることに気づく base64ではなさそうなのでROT13を試すと NOTE: Jack - temporary bypass: use header "X-Dev-Access: yes という文字列に復号できた ここでheaderに"X-Dev-Access: yes"を追加すればいいとわかるので、 burpsuiteを起動→burpsuiteのproxyタブからburpsuiteブラウザ起動→ 競技サイトを開く をして、interceptをオンにする その後、テキトーにログインフォームを入れてsubmitすると burpsuite上でリクエストメッセージが編集できる 以下のようにX-Dev-Access: yesをメッセージヘッダーに追記して forwardするとフラグが得られる ...