1.PHP本身是弱类型
比如判断数据是否是1的时候,这样就可以绕
我们知道1 and 1=1 和 1 肯定是比不了的,但是因为php是弱类型的原因 最前面有1。
2.in_array()
通俗的来讲就是比较值是否在数组里,但是第三个参数没有设置True就会出现问题
用法 in_array(做比较的,数组,BOOL)
可以看到 这里比较 是True
3.is_numberic()
通俗来说,就是判断值是不是number型,我们知道 16进制也是number型的,当我们数据库传输16进制的数据 会自动变为二进制的数据
我在数据库里面输入:
select 0x74657374
可以看到直接返回字符串test
所以挖掘代码审计中的SQL注入的时候。 是int类型的话,用这个函数来判断数据,可以直接绕过。
4.switch()
可以看到他会把数据转换int类型的时候 这样就会造成绕过漏洞了