?可以传递参数
sql数值型注入
1.判断注入点
数值型注入: ?id=1 and 1=1 , ?id=1 and 1=2
语句:select * from 表名 where id=1 and 1/2
2.猜字段数(二分法)
?id=1 order by x
3.确定显示位
?id=-1 union select 1,2,3,4 --+ //联合查询第1 2 3 4列,空格–+的作用是注释后面的内容
进行联合查询判断显示位时,在1的前面加-号或者改为0让前面的select语句查询为空错误,从而采用后面的语句进行查询
联合查询要构造假的,1前面一定要加-号,或者是?id=1 and 1=2构造前面的查询语句错误,从而使用后面的select语句。因为有两条select语句,要用-号/把1改为0把前面的select语句注释掉(字符型、数字型均可)
4.通过显示位收集信息
?id=-1’ union select 1,2,3 --+ 页面显示2,2就是显示位,则可以在数字2的位置去构造攻击语句
例如:?id=-1 union select 1,database(),user()# 在显示位2的地方插入database(),页面回显出当前数据名
5.数据收集
通过联合查询进行数据库数据查询