PHP strcmp()漏洞

PHP strcmp() 函数

比较两个字符串(区分大小写)

语法

strcmp(string1,string2)
string1 :规定要比较的第一个字符串。
string2 :规定要比较的第二个字符串。
结果:
0 :如果两个字符串相等
<0 -:如果 string1 小于 string2
>0 -:如果 string1 大于 string2

在5.3之前的php中,在语法中传入类型是字符串类型的数据,当传入的类型不是字符串,函数就会发生错误,显示了报错的警告信息后,将return 0 ,虽然报了错,但也被判断为相等了。
在这个时候,我们可以通过将$_POST[‘password’]构造为一个数组或者一个object进行绕过
当只能上传字符串的时候,我们可以通过把结尾带一对中括号的变量,例如 xxx[]的name($_POST[‘password’]),当作一个名字为xxx的数组构造request

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容