(深入)逻辑漏洞挖掘

in_array($var,$arr)这个函数的功能是看$var是否在$arr这个数组中,若存在,则返回true,否则返回false。

但是,这个函数会做自动类型转换。因此,若代码像这么写,就会出现逻辑错误。

(深入)逻辑漏洞挖掘_第1张图片

可以看到,提交的参数并不等于数组中的内容,可是依旧会被当做等于去执行。

is_numeric(),这个函数若是接收到16进制的值时,就可能出现漏洞

(深入)逻辑漏洞挖掘_第2张图片
(深入)逻辑漏洞挖掘_第3张图片

php的“==”和“===”的区别

==更容易出现安全隐患,我个人没想到这样居然会相等。

(深入)逻辑漏洞挖掘_第4张图片

这种逻辑漏洞也是程序员容易犯错的,两个参数,第一个参数过滤了,第二个参数也过滤了,但是又用str_replace()再替换一下两个参数,就导致了重合,反斜线就被转义了。

(深入)逻辑漏洞挖掘_第5张图片

你可能感兴趣的:((深入)逻辑漏洞挖掘)