联合查询注入 需要用到 union 两条来连接sql语句。
一:判断注入类型
两种类型 1:数字类型 2:字符类型
select * from 表 where id=$user_id 这是数字类型
select * from表 where id=$user_id' 这是字符类型
两者有什么不同 就是$user_id 后面是没有单引号的 而$user_id' 后面是有单引号的 很好判断。
想判断注入类型 首先采用 DVWA 作为靶场 进行演示
点击SQL ionjection 上面有 from表单 让你输入id 首先输入1进去 看看能不能显示正常界面
然后再输入1' 看看能不能显示正常界面
如果1 能显示正常界面 那就是字符注入类型漏洞
如果1'能显示正常界面 那就是数字注入类型漏洞
二:确认字段数
确认字段数是用于查询注入做准备。
在 from表单上 加上函数 order by 尝试看看有有几个字段 首先输入1 其次2 直到报错为止。
组成这种 1' order by 1 尝试看看有几个字段。
三:判断回显点
在 from表中 输入 这种 a'union select 1,2-- 注意(后面-- )必须有空格 表示注释
看看有几个回显点 如果显示两个数字 说明有两个回显点
如果就一个数字 就代表一个回显点 选择对应的回显点。