题目地址:https://buuoj.cn/challenges
解题思路
第一步:进入题目,从左边菜单下拉栏进入PAYFLAG页面
第二步:在PAYFLAG页面使用f12查看提示发现一行注释的php,要求提交password
第三步:使用burpsuite抓包修改参数获取flag
-
使用burpsuite抓包发现参数user=0,并且提交类型为get
-
结合提示必须来自CUIT,将user修改为1,发现CUIT的检测值为user的值。
-
根据提示需要post提交password参数且值为404,但不能是纯数字。通过修改提交请求,将get改为post,再将password值设置为404%20绕过纯数字检测。
-
根据提示添加money参数,提示数字过长
-
将money参数改为数组以绕过检测,获取flag
知识点
bool is_numeric ( mixed $var )
is_numeric函数对于空字符%00,无论是%00放在前后都可以判断为非数值,而%20空格字符只能放在数值后。strcmp(string1,string2)
当这个函数接受到了不符合的类型,这个函数将发生错误,但是在5.3之前的php中,显示了报错的警告信息后,将return 0,所以可以用数组绕过检测。