php strcmp()函数漏洞

php strcmp()函数漏洞

php<5.3

strcmp()接受两个string类型,但如果接受了错误的类型,函数会发生错误,但是在5.3之前的php中,显示了报错的警告信息后,函数将return 0,也就是虽然报了错,但却判定其相等。

绕过该函数时使其接受对象为数组或对象。

我们在post数据时,php为了可以上传一个数组,会把结尾带一对中括号的变量

如a[]=123,此处其实上传了一个数组。【服务器端代码应有$_POST[‘a’]】

而strcmp()中若直接或间接接受了这个post上去的a,我们就绕过了他(直接判定相等。)


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!