php中的strcmp漏洞
说明:
int strcmp ( string $str1 , string $str2 )
参数 str1第一个字符串。str2第二个字符串。如果 str1 小于 str2 返回 < 0; 如果 str1 大于 str2 返回 > 0;如果两者相等,返回 0。
可知,传入的期望类型是字符串类型的数据,但是如果我们传入非字符串类型的数据的时候,这个函数将会有怎么样的行为呢?实际上,当这个函数接受到了不符合的类型,这个函数将发生错误,但是在5.3之前的php中,显示了报错的警告信息后,将return 0 ,
也就是虽然报了错,但却判定其相等
php中的is_numeric()漏洞
is_numeric函数对于空字符%00,无论是%00放在前后都可以判断为非数值,而%20空格字符只能放在数值后。所以,查看函数发现该函数对对于第一个空格字符会跳过空格字符判断,接着后面的判断!
- 在MENU菜单的PAYFLAG路径下,提示如下
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/fd022b4b6f7f57300be2df97f2f76125.png#align=left&display=inline&height=753&margin=[object Object]&name=image.png&originHeight=753&originWidth=1557&size=187339&status=done&style=none&width=1557#pic_center) - 尝试进行抓包(以后不管是post还是get全部用burp进行操作)
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/86a1d708332be997e04a61bd4dba7bd2.png#align=left&display=inline&height=248&margin=[object Object]&name=image.png&originHeight=248&originWidth=825&size=29437&status=done&style=none&width=825#pic_center) - 放到重放模块,将Cookie的user值改成1,请求GET改成POST,响应you are cuiter,说明此字段控制cuit
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/036222f95f48b9d92e3821601d2c40b3.png#align=left&display=inline&height=97&margin=[object Object]&name=image.png&originHeight=97&originWidth=396&size=4376&status=done&style=none&width=396#pic_center) - 响应里面有段php注释代码
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/b82818af91f0c6ea7f2c4e604f06d0d0.png#align=left&display=inline&height=232&margin=[object Object]&name=image.png&originHeight=232&originWidth=525&size=20116&status=done&style=none&width=525#pic_center) - 根据要求传入password=404a绕过is_numberic
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/0deabfc475b9980d2f51c2ad215a70b9.png#align=left&display=inline&height=799&margin=[object Object]&name=image.png&originHeight=799&originWidth=1900&size=114774&status=done&style=none&width=1900#pic_center) - 再传入money=100000000,提示过长,猜测strcmp进行比较,传入money[]=1
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/c138249e0e365b638cddd88a170ad3e4.png#align=left&display=inline&height=776&margin=[object Object]&name=image.png&originHeight=776&originWidth=1867&size=116236&status=done&style=none&width=1867#pic_center)
|