2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OSCTF 2024 Writeups

Posted at

はじめに

OSCTF 2024に参加してきました。
結果は約740チーム中346位でした。
個人的にWebのAction Notesが解けなかったのが悔しかったです。
大会はJeopardy形式ではあるものの、ソースコードから脆弱性を見つけるようなものではありませんでした。
そういう意味ではHTBの問題に似ています。
今回は私が解いた問題の中で面白かったものを解説していきます。

Forensics

The Lost Image Mystery

image.pngが渡されます。
この画像はこのままだと開けないようです。
fileコマンドとhexeditコマンドで確認してみたところ、マジックナンバーが適切ではないような気がしたので
ここを直せば、画像が開けるようになり、フラグが読み取れそうです。

Screenshot 2024-07-14 at 17.36.38.png

Screenshot 2024-07-14 at 17.39.12.png

試しにこの画像をJPEGファイルとして修復しようと試みました。
この画像ファイルだとSOI(Start Of Image),APP0(Application Segment 0)マーカが記述されていなかったので
最初の数バイトを以下のように書き換えます。

FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00

すると画像が開けるようになり、そこにフラグがありました。

image.png

The Hidden Soundwave

Alan Walker.mp3という音声ファイルが渡されるので、一旦聴いてみます。
すると最後の方に奇妙な音声が混ざっていました。
早速Audacityのspectrogramモードで解析してみます。
すると、そこにフラグがありました。

Screenshot 2024-07-14 at 17.59.53.png

Seele Vellorei

wordファイルが渡されたので開いてみます。

Screenshot 2024-07-14 at 18.01.19.png

この時点ではあまり気になるところはありません。
ワードファイルは圧縮ファイルとして解凍することが可能です。
そこで、解凍したファイルの中身にフラグが入っていないか確かめてみます。
案の定document.xmlの中にフラグが入っていました。

Screenshot 2024-07-14 at 18.05.50.png

Web

Action Notes

問題で配布されたURLに行ってみると、RegisterとLoginページに推移するボタンが置かれているだけでした。
Registerページでadminとして登録しようとすると、adminは既に登録済みと言われてしまいました。
代わりに他のIDで登録し、それでログインしてみました。
するとnotesというページに推移しました。
ここでは任意の文字列をノートとして登録しておけるようです。
色々パラメータをいじっていると、エラーログがレスポンスとして帰ってきました。
どうやらこれはFlaskで動いていて、デバッグモードが有効になっているようです。

Screenshot 2024-07-14 at 18.15.16.png

そのエラーの中にそれの原因となったソースコードの部分が記述されていたので見てみると
面白い箇所がありました。

Screenshot 2024-07-14 at 18.16.52.png

登録したノートの値をテンプレートエンジンで表示しています。
SSTIが可能なのではと思い、試してみたのが下の図です。

Screenshot 2024-07-14 at 18.12.00.png

ですが、どれも上手くいきませんでした。
このウェブサイトはデバッグモードが有効になっていることからconsoleページへのアクセスが可能になっています。
そこで、PINコードを推測し、consoleページへのアクセスを奪おうと思いましたが
それには必要な情報をパストラバーサルか何かで取得する必要があります。
私はその方法が分からず、結局時間内に解くことはできませんでした。

おわりに

今回は順位としてはあまり良い結果ではありませんでしたが、ローカル環境での攻撃検証が
以前より柔軟に行えるようになっていた自分に驚きました。
特にAction Notesでは、実際にflaskでWebサイトを立ち上げ、どのような機能が脆弱になるかを直感的に理解することができました。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?