1.报错注入原理
由于后台没有对数据库的信息做过滤,会输出到前台显示,那么我们就可以通过制造报错函数,将查询语句带入到数据库中,以报错信息显示出来。
2.报错注入漏洞产生的条件
1)参数用户可控:前端传入的参数内容由用户控制
2)参数带入数据库的查询:传入的参数拼接到 SQL 语句,并且带入数据库的查询
3)对用户输入的数据没有做合法性的判断
4)后台对数据库的信息没做过滤,会输出到前台显示
3.常用哪些函数来制造爆错?
extractvalue\updatexml\floor\exp
4.updatexml(),extractvalue(),floor()函数制作报错原理
Updatexml函数的第二个参数应当是填写规范的xpath路径,当用户在这个字段中使用concat函数时,cancat函数会将它所执行的sql查询结果和报错信息进行拼接。这就是updatexml的攻击注入原理
extractvalue函数第二个参数 xml中的位置是可操作的地方,xml文档中查找字符位置是用 /xxx/xxx/xxx/…这种格式,如果我们写入其他格式,就会报错,并且会返回我们写入的非法格式内容,而这个非法的内容就是我们想要查询的内容。
floor报错注入准确地说应该是floor,count,group by冲突报错,是当这三个函数在特定情况一起使用产生的错误。