UMassCTF21 Writeup見ながらやる(Web)

Hermit – Part 1

参考writeup
codelearn.me

普通に画像アップロードしてみました。

画像を選択するとPHPのエラーが発生しました。

Writeup通りにファイルの内容を変更するといかにもコマンド実行したそうなエラーになりました。

拡張子に「.php」は含まず、「.png」だけでしたが、内容を解釈しているようでした(そんなことあるのか?)

アップロードしたPHPの通りにパラメータを設定するとコマンド実行できるようになりました。

lsコマンドでたどっていくと、フラグ用のテキストファイルがありました。

戦犯っぽい「show.php」の内容です。

何が原因なのかわからなかったので、ローカルにサーバ立てて検証しました。

ひとまず再現はできました。

指定しているファイルをなくしてみます。

指定した文字列がそのまま表示されました。
ifの中のechoですね。

初めて見る「@include」が原因のようでした。
ドキュメントはこれですかね。
「指定されたファイルを読み込み、評価します。」と記載があるので、確かにPHPコードが動きそうでした。
www.php.net

PikCha

参考writeup
https://github.com/JackLowry/pikcha
https://github.com/JrGoomer/CTF-Writeups/blob/master/UMass2021/PikCha.md
https://szymanski.ninja/en/ctfwriteups/2021/umassctf/pikcha/

適当に入力してみましたが、意味がわかりませんでした。
これ解いた人はどんなきっかけから解いたんでしょうか。

Writeup通りCookieをデコードしました。
雰囲気からJWTであるということはわかってましたが、ここからどうやってフラグ出すんでしょうか。

Writeupを読むと、ポケモンの図鑑Noを当てていくらしいです。

カウントが進みました。
これを500回やれば良さそうです。

答えはset-Cookieされるので、そこから読み取っていけば自動で出来そうです。
pythonでのpocが多かったので、参考に実行してみます。

Burpでキャプチャしているのですが、うまく行っているようです。

フラグが出てきました。

pythonメモ
http用

requests

json用

json
json.loads()

heim

参考Writeup
https://domiee13.github.io/posts/UMassCTFWriteUp2/

とりあえず入力して「Enter」を押したところ、ダイレクトにトークンが表示されました。

Writeupを見ると、ディレクトリを調査するようです。
確かに、ディレクトリを探すくらいしかやることはなさそうです。

CTFは終了しているので、大量にリクエストは送らず、Writeupに記載してあるディレクトリだけ見ます。

Authorizationヘッダを使用しましたが、アクセスできず。

「Odin」しか見れないのでしょうか?
エラーメッセージを読むことは何でも大事ですね。

Odinで再度トークンを発行したところ、フラグが表示されました。

感想

どの問題も学びがあって面白かったです。
Writeupが公開されていると、終わった後も検証が出来るのでとても助かります。

今回はひねったような回避系が無かったので、簡単な部類だったのでしょうか。
私はCTFは詳しくないので、たまたまやってみようと思ったCTFがこのレベルであってくれて本当に助かりました。

リアルタイムでやるかはわかりませんが、引き続きWriteup見ながらいろいろ検証してみようと思います。

PikCha2はWriteupがあったのですが、画像加工がうんぬんで面白くなさそうだったので実施していないです。

スポンサーリンク
スポンサーリンク
ブログ村
PVアクセスランキング にほんブログ村
この記事を書いた人
脆弱性を見つける仕事をしています。 Twitter https://twitter.com/Nick_nick310
SNSでフォローする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です