打开网页,然后发现menu中有个buyflag的连接,点进去
如果你想买这个flag ,你必须是来自CUIT的一名学生,还必须回答正确的密码。简单了解,我们查看源码,发现思路
isset()函数是用来检验变量是否被设置的。
is_numeric()函数检测字符串是否只由数字组成,如果字符串中只包括数字,就返回Ture,否则返回False。
对于
$password == 404
,在PHP中==
是一种弱类型比较,即只取字符串中开头的整数部分进行比较。POST方式传入两个参数,password和money,其中password要绕过is_numeric()函数,并且密码还要等于404,php弱类型匹配,
于是我们直接让password=404a或password = 404%20
(相当于在404后面加了一个空格,其他空白字符也可以绕过)就可以了,既绕过了is_numeric()又完成了password的匹配。然后我们的钱需要100000000于是我们bp抓包发送POST请求
1、科学计数法绕过money=1e9
2、数组绕过money[]=1