页面有显示位时 , 可用联合注入
本次以 SQLi 第一关为案例
第一步,判断注入类型
参数中添加 单引号 ' , 如果报错,说明后端没有过滤参数 , 即 存在注入
?...id=1'
从数据库的报错中我们可得知 , 最外边的一对单引号是错误提示自带的,我们不用管
我们输入的1 , 两边的一对单引号 , 是SQL拼接参数时使用的
而1 右边的单引号 , 是我们自己输入的...也就是说 , 后台SQL中拼接参数时 , 使用的是单引号 , 固 注入点为 单引号字符串型
第二步,获取字段数
order by 1 , 即 根据第1列排序 , 修改排序的列,如果存在该列,则会正常显示...id=1' order by 4-- a
第4列时,开始报错,没有第四列 , 也就是说,返回的结果中只有3列, 固 3个字段
第三步,获取显示位
联合查询 可以将左右两个查询语句的结果合并在一起显示,...左边的查询结果显示在上方,右边的查询结果显示在下方 , 前提是两个查询结果的字段数一致 , 如果字段数不一致则会报错 , 这也是我们上一步需要获取字段数的原因
我们输入id为-1 , 由于id没有负数,导致SQL