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

hamayanhamayan's blog

Skid [BsidesBOS CTF]

Skid
Check out our new blog to become a hacker master mind!

調査

とりあえず一通り機能を試してみる。

  • / トップページ
  • /post/SQLi%20like%20a%20pro 投稿が見られる
  • /?category=Tutorials カテゴリ検索
  • /?search=x 検索機能
  • /signin ログイン機能

HTTPレスポンスを見てみてもノーヒント。
robots.txtを探しても404で、情報はないが、何となく前問同様pythonで動いてるような気がする。
skidtokenという謎のCookieがJWTで発行されている。
中身は{"typ": "JWT","alg": "HS256","kid": "skid"}.{"username": "skid"}である。
skidってなんだ。横滑り?
適当に'"でSQLi確認をするが、引っかからない。まあ、そうか。
んー、どこにも引っかかりそうな所がないぞー

Writeup確認

あっ…

SQL Injection on kid

JWTのkidをskid'にしてみる。

Bad Request
(sqlite3.OperationalError) unrecognized token: "'skid''"
[SQL: select * from key where name like 'skid'']
(Background on this error at: http://sqlalche.me/e/13/e3q8)

はい。これに当てはまるように良い感じにペイロードを作る。
keyテーブルのカラム数が分からないので、適当に全探索して探すと、以下がペイロードとなる。

flag{sqli_jwt_neq_skid_stuff}