setodaNote

忘れる用のメモ書き

TSG LIVE! CTF 4 (2019) Writeup

この週末にあった TSG LIVE! 3 内で開催されていたライブCTF「TSG LIVE! CTF 4」に少しだけ参加していました。

番組内での解説前に解いた問題について Writeup を記載します。


(Web) Is the order a flag?

問題文は以下の通り。

f:id:soji256:20191126194221p:plain:w450
TSG LIVE! CTF 4 - Is the order a flag?

記載の URL にアクセスしてみる。*2

f:id:soji256:20191126194540p:plain
TSG LIVE! CTF 4 - Is the order a flag?

「いいねボタン」が設置してあり、押すと通信が発生して 1000 ポイントがもらえる。

f:id:soji256:20191126194924p:plain
You can only press the Like button once.

ボタンは押すと無効化されてしまう。

1日1回しか押せないとのこと。

下の方を見るとフラグが売られていた。

f:id:soji256:20191126195416p:plain
Item: Flag

購入するためには 10000 ポイント必要なので、まだ買うことができない。

どうにかしてポイントを貯めたい。

「いいねボタン」を押すと 1000 ポイントもらえる。

押したときには通信が発生していた。

ということで「いいねボタン」の通信を何度も発生させればポイントもらえるのではと考える。

 
 

まず、もう一度いいねボタンが押せるようにする。

セッションキーをクッキーから削除するなり、ゲストモードのブラウザを起動するなりする。

「F12」を押してから「Network」タブに切り替える。

f:id:soji256:20191126200338p:plain
Developer tools (Network) - Chrome

「いいねボタン」を押す。  
 

・・・  
 

ここからだと通信を再送できないと気づく。

 
 
 

気を取り直して Fiddler を起動する。

改めて「いいねボタン」を押して Fiddler に通信を記録させる。

f:id:soji256:20191126202051p:plain
Reissue Request - Fiddler

そのリクエストをリピートし続ける。

f:id:soji256:20191126202215p:plain
Repeat, Repeat...

ブラウザを更新する。

f:id:soji256:20191126202301p:plain
Over 10000

やったでおい。

 
 

十分なポイントが貯まっているのでフラグが購入できるようになっている。

f:id:soji256:20191126202347p:plain
You can get the FLAG.

f:id:soji256:20191126202419p:plain
FLAG

フラグゲット。

  • フラグ: TSGCTF{kanikani_crab_life}

付録

公式の解説(Youtube)

Writeup は公式とは異なる方法で解いています。 以下、想定解の解説動画です。

更新履歴

  • 2019/11/26 新規作成

*1:CTF の概要を記載していた URL には接続できなくなっていました。

*2:記事執筆時点でまだアクセスできました。