zoukankan      html  css  js  c++  java
  • D盾 v2.0.6.42 测试记录

    0x01 前言

      之前发了一篇博客《Bypass D盾_IIS防火墙SQL注入防御(多姿势)》,D哥第一时间联系我,对问题进行修复。这段时间与D哥聊了挺多关于D盾这款产品的话题,实在是很佩服,对这样一款产品的细致以及投入。一个人,一款产品,一路走来,弥足艰辛。旧版D盾_防火墙支持win2003,新版D盾_防火墙功能更加强大。前阵子已经拿到最新的内测版本,奈何杂事缠身,一直没有深入的对防御规则进行测试,抽空下载了新发布版本对之前发现的问题进行复测,这里记录一下测试过程。

    0x02 SQL注入防御

      搭建了一个IIS+ASPX的环境,对一些关键字进行测试,查看拦截情况:

        union  不拦截

        union select  拦截

        select  from  拦截

    测试思路:

    如何绕过union select?

      在对旧版本测试中,曾使用1eunion来绕过SQL注入防御,新版本D盾对防御规则进行重构,有着本质的区别,抱着怀疑的心态进行尝试,虽然1e的形式已被修复了,通过Fuzz可以发现,使用1.e这种特殊的数值形式,可成功绕过union select防御。

    接下来考虑,如何去绕过select from的防御规则:

    绕过姿势:GET+POST

      假设GET/POST/COOKIE同时提交的参数id,服务端接收参数id的顺序是什么样呢?

    ASP+IIS: COOKIE会被POST代替,POST会被GET代替,同时提交参数id,最后只会得到GET中的值,如下图:

     ASPX+IIS:同时提交参数id,会接收所有参数,通过逗号分隔,如下图:

    PHP+IIS: GET会被POST替代,POST会被COOKIE替代,最终只会得到COOKIE的值,如下图:

      从中可以发现,ASPX+IIS同时接收参数的方式比较特别,可以用这个特性来搞事。

      利用这个特性来拆分select from,从而绕过D盾的SQL注入防御规则。

    局限:使用Request.Params["id"]来获取参数, 三种方式可以进行参数传递:(1). Form (2). ?id= (3).cookie 获取到参数拼接起来

    这姿势适合场景略局限,仅仅作为Bypass分享一种思路而已。

     0x03 关于盲注

      通过盲注去获取一些敏感信息,如version()、user()、database()等。

     

     

     

  • 相关阅读:
    洛谷P1443 马的遍历
    洛谷P1014 Cantor表
    《显示器件应用分析精粹:从芯片架构到驱动程序设计》已全面上市,活动赠书已经发放!
    透彻详尽的液晶显示屏CCFL背光源驱动逆变电源中的镇流电容设计
    《显示器件应用分析精粹:从芯片架构到驱动程序设计》正在印刷中,很快就要上市了
    透彻详细电荷泵升压电路的工作原理分析(配Multisim仿真验证)
    [GLSL]着色器周记03
    [GLSL]着色器周记02——火焰特效
    [GLSL]着色器周记01——真实光照
    毕业这五年【中】
  • 原文地址:https://www.cnblogs.com/xiaozi/p/7648361.html
Copyright © 2011-2022 走看看