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()等。

D盾 v2.0.6.42 测试记录的更多相关文章

  1. 25.怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块

    转自:https://blog.csdn.net/wangyj1992/article/details/78387728 因为项目的需要,所以研究了一下自动生成测试代码.将经验记录下来,总会有用的.我 ...

  2. 怎样在IDEA中使用JUnit4和JUnitGenerator V2.0自动生成测试模块

     因为项目的需要,所以研究了一下自动生成测试代码.将经验记录下来,总会有用的.我个人认为,好记性不如多做笔记多反思总结. 1.    前提条件 开发环境已正确配置 工程已解决JUnit依赖关系(pom ...

  3. (转)H264通过RTMP发布 V2.0 (Red5 Wowza 测试通过)

    直接上代码 // demo.cpp : 定义控制台应用程序的入口点.//#include "stdafx.h"#includeextern "C"{#inclu ...

  4. 【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)

    [Oracle RAC]Linux系统Oracle12c RAC安装配置详细过程V2.0(图文并茂) 2 Oracle12c RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 ...

  5. 作业2-MathExam V2.0

    MathExam V2.0 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 50 • ...

  6. 【Beta】“北航社团帮”测试报告——小程序v2.0与网页端v1.0

    目录 测试计划.过程和结果 后端测试--单元测试与覆盖率 后端测试--压力测试 展示部分数据 平均数据 前端测试--小程序v2.0 授权登录与权限检查 新功能的测试 兼容性测试 性能测试 前端测试-- ...

  7. 网关局域网通信协议V2.0

    http://docs.opencloud.aqara.cn/development/gateway-LAN-communication/ https://github.com/aqara/openc ...

  8. 一次tomcat配置参数调优Jmeter压力测试记录前后对比

    使用的tomcat版本为:apache-tomcat-7.0.53 使用测试工具Jmeter版本为:apache-jmeter-2.12 1.测试前tomat的"server.xml&quo ...

  9. SteamVR Unity Plugin - v2.0.1中的InteractionSystem

    最近写VR项目的时候用到了SteamVR Unity Plugin - v2.0.1插件,感觉比之前用到的SteamVR plugin for Unity - v1.2.2版本改进了很多,就算不用VR ...

随机推荐

  1. label文字居中

    height: height,//"20px"                "line-height": height, autosize:true, &qu ...

  2. 【android】环形进度条实现

    先上效果图(压缩尺寸后出现锯齿,原图边缘很细腻的喂~) 特性: 1:支持环形带字 .环形不带字(中间盖上圆形图片,实现天天动听播放器在通知栏播放进度的效果).实心 2:线程安全,不需要写handler ...

  3. 第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—第三方模块django-simple-captcha验证码

    第三百八十三节,Django+Xadmin打造上线标准的在线教育平台—第三方模块django-simple-captcha验证码 下载地址:https://github.com/mbi/django- ...

  4. 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理

    第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点 ...

  5. JDBC创建表实例

    在本教程将演示如何在JDBC应用程序中创建一个数据库表. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式中创建数据库表. 要执行以下示例,需要用实际用户名和密码替 ...

  6. Mybatis接口注解

    在上一章中,我们已经搭建了 myeclipse,mybatis,mysql 的开发环境,并且实现了 mybatis 的一个简单的查询.要注意的是,这种方式是用 SqlSession 实例来直接执行在U ...

  7. (原)SDL调试心得

    今天在项目中用到SDL2.0的库做视频显示用,在其中出现不少问题,这里一一记录下来,并作为以后的参考. 同一个窗口句柄在多次使用SDL_CreateWindowFrom和SDL_DestroyWind ...

  8. C# Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005

    环境说明: Win2008 R2(中文版) x64 .IIS 7.0 功能说明:上传Excel到服务器,并在服务器端读取Excel中的数据: 异常信息:Retrieving the COM class ...

  9. Java虚拟机性能管理神器 - VisualVM(4) - JDK版本与VisualVM版本对应关系

    Java虚拟机性能管理神器 - VisualVM(4)    -  JDK版本与VisualVM版本对应关系 JDK版本与VisualVM版本对应关系说明 JDK版本与VisualVM版本对应关系 参 ...

  10. php中urlencode()和urldecode()URL编码函数浅析[转]

    URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu.Google等搜索引擎中输入中文查询时候,生成经过Encode过的网页URL.URLEncode的方式一般 ...