はまやんはまやんはまやん

hamayanhamayan's blog

Bot Protection IV [UIUCTF 2020]

CTFtime.org / UIUCTF 2020 / Bot Protection IV

When on website: +1 spam resistance +10 user annoyance
Gotta be fast! 500 in 10 minutes!
https://captcha.chal.uiuc.tf
Author: tow_nater

f:id:hamayanhamayan:20200724113449p:plain

Captchaのようなサイト。
ソースコードを見ると、/captchas.zipへアクセスするよう書いてある。
1GBくらいあるんですけど…
ダウンロードしながら他を見てみよう…

Captchaを普通に解く

見かけ上は読めないが、上の文字は「Level 0 is not high enough」と書かれている。
何も入れずにボタンを押すと、「Invalid capcha」と出てくる。

cssを見ると、

@font-face {
  font-family: mc;
  src: url(mc.ttf);
}

こう書いてあり、/static/mc.ttfへアクセスするとダウンロードができて、minecraft enchantmentというフォントのようだ。
Minecraft Enchantmentフォント - ダウンロード
ここを見ながら入力すると、「Level 1 is not high enough」に移行できる。
更に入力すると「Level 2 is not high enough」に移行する。
はーん。なるほど?
CookieにはセッションIDのみ書かれているので、サーバ側にクリアレベルは保持されているようだ。
これは何かしらの方法でズルをしないといけないみたい。

…まだcaptchas.zipのダウンロードが終わってないけれど、たぶんcaptchaの画像データだろう。
どうしたもんかな

方針:自動の入力器を作る

ソルバを自力で作って自動でレベルを上げていってもらう方針。
現状それしか見えないけど、サーバに負荷をかけるのと、ちょっと面倒なので、どうしようかな…
でもCaptcha画像与えられてるってことはそういうことなんかな…?
わかんねぇ

解説を見る

CTF-Writeup/web/UIUCTF/Bot_Protection_IV at master · wwkenwong/CTF-Writeup
ロックな解説になってる。いや、メタルな解説になってる。
本文はさっぱりわからんので、pythonコードで理解していく。
自動の判定器を作ってる感じがしますね。
アンサンブル学習みたいなことしてるやん。
似てるやつはうまくいくまで全部試すっぽい。
500回くらい成功したらフラグが出てくる。
復習してもいいけれど、これのソルバ作るのちょっとしんどいな…