sqli-labs笔记(3)post注入、报错注入、双注入

less 11

sqli-labs笔记(3)post注入、报错注入、双注入_第1张图片

  1. 单引号报错’’’ and password=’’ LIMIT 0,1
    sqli-labs笔记(3)post注入、报错注入、双注入_第2张图片
    sqli-labs笔记(3)post注入、报错注入、双注入_第3张图片
    猜测后台语句为select ? where uname = '?' and passwd = '?'

  2. 构造' or 1 #登陆成功sqli-labs笔记(3)post注入、报错注入、双注入_第4张图片

那在post注入中如何获取数据库中的内容呢
  1. 根据报错内容获取内容

报错注入

  • 函数extractvalue(key1,key2): 使用xpath语句key2,查询xml文档key1
    a. 确定查询列数 order by 2sqli-labs笔记(3)post注入、报错注入、双注入_第5张图片sqli-labs笔记(3)post注入、报错注入、双注入_第6张图片
    b. 使用函数extractvalue()执行,查看报错信息
    sqli-labs笔记(3)post注入、报错注入、双注入_第7张图片
    使用limit 0,1 从0开始偏移为1
    在这里插入图片描述
    查看1,1 ;2,1
    在这里插入图片描述
    sqli-labs笔记(3)post注入、报错注入、双注入_第8张图片
  • 函数updatexml(key1,key2,key3):
    sqli-labs笔记(3)post注入、报错注入、双注入_第9张图片

双注入

使用两个select的注入?

  1. 确定查询列数为2
    在这里插入图片描述
  2. 构造报错误语句
    在这里插入图片描述
  • group by : group by 后面的内容会作为临时表的主键
  • floor(rand()*2):随机生成0或1
  • Duplicate entry:实体重复,这里表示临时表的主键重复(会50%几率报错)
  1. 构造查询语句,在报错信息中显示
  • 查询当前数据库在这里插入图片描述
  • 查询表(50%的几率多操作几次,总会有的)在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
  • 查看user表的columns
    在这里插入图片描述在这里插入图片描述
  • 查看表中的字段值
    在这里插入图片描述在这里插入图片描述

你可能感兴趣的:(web安全)