1.PHP本身是弱类型

image.png
比如判断数据是否是1的时候,这样就可以绕
我们知道1 and 1=1 和 1 肯定是比不了的,但是因为php是弱类型的原因 最前面有1。

2.in_array()

通俗的来讲就是比较值是否在数组里,但是第三个参数没有设置True就会出现问题
用法 in_array(做比较的,数组,BOOL)
image.png
可以看到 这里比较 是True

3.is_numberic()

通俗来说,就是判断值是不是number型,我们知道 16进制也是number型的,当我们数据库传输16进制的数据 会自动变为二进制的数据

我在数据库里面输入:
select 0x74657374
image.png
可以看到直接返回字符串test

image.png

所以挖掘代码审计中的SQL注入的时候。 是int类型的话,用这个函数来判断数据,可以直接绕过。

4.switch()

可以看到他会把数据转换int类型的时候 这样就会造成绕过漏洞了
image.png