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

hamayanhamayan's blog

Sarah Palin Fanpage [TJCTF 2020]

Written by jpes707
Are you a true fan of Alaska's most famous governor? Visit the Sarah Palin fanpage.
https://sarah_palin_fanpage.tjctf.org/

サラ・ペイリンとは、アメリカの政治家らしい。
ティーパーティー運動もしてるらしい。teeコマンドか?そこまで意味深じゃないか。
免責事項に笑う。

調査

  • /
    • ホームサイト
  • /top10
    • 各ランクイン記事についてLikeできるようになっている
  • GET /likesWorker?choice=10
    • 10いの記事をlikeしたときにアクセスするエンドポイント
    • response
      • set-cookie: data=eyIxIjpmYWxzZSwiMiI6ZmFsc2UsIjMiOmZhbHNlLCI0IjpmYWxzZSwiNSI6ZmFsc2UsIjYiOmZhbHNlLCI3IjpmYWxzZSwiOCI6ZmFsc2UsIjkiOmZhbHNlLCIxMCI6dHJ1ZX0%3D; Path=/
      • なんかset-cookieが来ている
      • x-powered-by: Express
      • 407のように、like後のいいね数カウンタが帰ってくる
  • /exclusive
    • アクセス拒否された
    • 全部の記事にライクしてこいとある笑
      • ライクしようとすると、5件が上限であるとメッセージが出る。ほう
      • ネットワークをみると、likesWorkerでのレスポンスがfailedになっている
      • ふむ
  • /javascripts/navbar.js
    • メニューバーはこれで生成しているっぽい

Cookie改ざん

exclusiveエンドポイントでどうやって全部ライクしたかの判定をしているかであるが、 まず疑うべきはcookieだろう。

eyIxIjpmYWxzZSwiMiI6ZmFsc2UsIjMiOmZhbHNlLCI0IjpmYWxzZSwiNSI6ZmFsc2UsIjYiOnRydWUsIjciOnRydWUsIjgiOnRydWUsIjkiOnRydWUsIjEwIjp0cnVlfQ%3D%3D

じぶんの所にはこんな感じに入っていたが、末尾が%3Dで、=なので、base64だろう。
デコードしてみる。

{"1":false,"2":false,"3":false,"4":false,"5":false,"6":true,"7":true,"8":true,"9":true,"10":true}

ok.これをご所望の通り全部trueにして、base64エンコードして、urlエンコードして格納しなおす。
https://gchq.github.io/CyberChef/#recipe=To_Base64('A-Za-z0-9%2B/%3D')URL_Encode(true)&input=eyIxIjp0cnVlLCIyIjp0cnVlLCIzIjp0cnVlLCI0Ijp0cnVlLCI1Ijp0cnVlLCI2Ijp0cnVlLCI3Ijp0cnVlLCI4Ijp0cnVlLCI5Ijp0cnVlLCIxMCI6dHJ1ZX0

f:id:hamayanhamayan:20200527190217p:plain

祝福のMAD動画とともに、フラグがでてくる。