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するとフラグが得られる ...

November 20, 2025 · 1 min

PicoGym Hidden in Plainsight

問題リンク https://play.picoctf.org/practice/challenge/524 概要 画像ファイルからフラグを探してねというもの 予備知識 ステガノグラフィ CTFにはステガノグラフィという分野があり、今回の問題はこれ 以下のサイトが役に立つはず https://speakerdeck.com/kuroiwasi/cpawctf-steganography?slide=63 https://blog.hamayanhamayan.com/entry/2022/12/14/234257 解き方 ダウンロードしたimgファイルを普通に画像ファイルとして見ても何もわからないので、 fileコマンドを試す ❯ file img.jpg img.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, comment: "c3RlZ2hpZGU6Y0VGNmVuZHZjbVE9", baseline, precision 8, 640x640, components 3 commentが明らかに怪しいので、base64でデコードすると ❯ echo "c3RlZ2hpZGU6Y0VGNmVuZHZjbVE9" | base64 -d steghide:cEF6endvcmQ= steghideという文字列と、その後ろにさらに謎の文字列が出てきた ちなみに、steghideで検索するとステガノグラフィで有名なツールの名前らしい →「steghideでフラグが埋め込まれたjpgファイルなのでは?」と推測 “steghide:“の後ろの文字列をbase64でさらにデコードすると ❯ echo "cEF6endvcmQ=" | base64 -d pAzzword なんかパスワードっぽいことがわかったので、後はsteghideをインストールして extractモードでフラグを探してみる (steghideのインストールは省略) 使い方は簡単で、“Enter passphrase:“の後にさっきの"pAzzword"を入れるだけ ❯ steghide extract -sf img.jpg Enter passphrase: wrote extracted data to "flag.txt". flag.txtの中身がpicoCTF{h1dd3n_1n_1m4g3_67479645}となっているので、多分これがフラグ

November 17, 2025 · 1 min

PicoGym Log Hunt

問題ページ https://play.picoctf.org/practice/challenge/527 概要 サーバーのログファイルを見て、バラバラのフラグをまとめろというもの 解き方 生ファイルを見ると、“INFO FLAGPART"という文字列が入ったログがフラグだと思われる 一旦grepで該当行を見る ❯ grep "INFO FLAGPART" server.log [1990-08-09 10:00:10] INFO FLAGPART: picoCTF{us3_ [1990-08-09 10:02:55] INFO FLAGPART: y0urlinux_ [1990-08-09 10:05:54] INFO FLAGPART: sk1lls_ [1990-08-09 10:05:55] INFO FLAGPART: sk1lls_ [1990-08-09 10:10:54] INFO FLAGPART: cedfa5fb} [1990-08-09 10:10:58] INFO FLAGPART: cedfa5fb} [1990-08-09 10:11:06] INFO FLAGPART: cedfa5fb} [1990-08-09 11:04:27] INFO FLAGPART: picoCTF{us3_ [1990-08-09 11:04:29] INFO FLAGPART: picoCTF{us3_ [1990-08-09 11:04:37] INFO FLAGPART: picoCTF{us3_ [1990-08-09 11:09:16] INFO FLAGPART: y0urlinux_ [1990-08-09 11:09:19] INFO FLAGPART: y0urlinux_ [1990-08-09 11:12:40] INFO FLAGPART: sk1lls_ [1990-08-09 11:12:45] INFO FLAGPART: sk1lls_ [1990-08-09 11:16:58] INFO FLAGPART: cedfa5fb} [1990-08-09 11:16:59] INFO FLAGPART: cedfa5fb} [1990-08-09 11:17:00] INFO FLAGPART: cedfa5fb} [1990-08-09 12:19:23] INFO FLAGPART: picoCTF{us3_ [1990-08-09 12:19:29] INFO FLAGPART: picoCTF{us3_ [1990-08-09 12:19:32] INFO FLAGPART: picoCTF{us3_ [1990-08-09 12:23:43] INFO FLAGPART: y0urlinux_ [1990-08-09 12:23:45] INFO FLAGPART: y0urlinux_ [1990-08-09 12:23:53] INFO FLAGPART: y0urlinux_ [1990-08-09 12:25:32] INFO FLAGPART: sk1lls_ [1990-08-09 12:28:45] INFO FLAGPART: cedfa5fb} [1990-08-09 12:28:49] INFO FLAGPART: cedfa5fb} [1990-08-09 12:28:52] INFO FLAGPART: cedfa5fb} 重複があったりすることがわかったので、 フラグと関係ない前半37文字を削除し、sort とuniqで重複削除 ...

November 17, 2025 · 1 min

PicoGym Riddle Registry

問題ページ https://play.picoctf.org/practice/challenge/530 概要 捜査官としてPDFからフラグを見つけろというもの 解き方 PDFを開いて見える黒塗の部分はダミーなので無視 pdfをエディタで開いて、authorの部分をBase64でデコードするだけ ❯ echo "cGljb0NURntwdXp6bDNkX20zdGFkYXRhX2YwdW5kIV80MjQ0MGM3ZH0\075" | base64 -d picoCTF{puzzl3d_m3tadata_f0und!_42440c7d}

November 17, 2025 · 1 min