关闭 More 保存 重做 撤销 预览

   
关闭   当前为简洁模式,您可以更新模块,修改模块属性和数据,要使用完整的拖拽功能,请点击进入高级模式
重播

上一主題 下一主題
»
黑哥
LV1 初心者
帖子    13
新博币    1 提现
提现    0
TA的勋章:勋章中心
     
    3240 4 | 显示全部楼层 |倒序浏览
    D盾_IIS防火墙,目前只支持Win2003服务器,前阵子看见官方博客说D盾新版将近期推出,相信功能会更强大,这边分享一下之前的SQL注入防御的测试情况。D盾_IIS防火墙注入防御策略,如下图,主要防御GET/POST/COOKIE,文件允许白名单设置。构造不同的测试环境,IIS+(ASP/ASPX/PHP)+(MSSQL/MYSQL),看到这边的策略,主要的测试思路:
    a、白名单  
    b、绕过union select或select from的检测



    0X02 IIS+PHP+MYSQL
    搭建这个window2003+IIS+php+mysql,可花费不少时间,测试过程还蛮顺利的,先来一张拦截图:


    绕过姿势一:白名单

    PHP中的PATH_INFO问题,简单来说呢,就是
    http:/x.x.x.x/3.php?id=1       等价于          http://x.x.x.x/3.php/xxxxxxxxxxxxx?id=1
    从白名单中随便挑个地址加在后面,可成功bypass,

    • http://10.9.10.206/3.php/admin.php?id=1  union select 1,2,schema_name from information_schema.SCHEMATA

    [color=rgb(109, 115, 132) !important]复制代码

    经测试,GET、POST、COOKIE均有效,完全bypass



    绕过姿势二:空白字符

    Mysql中可以利用的空白字符有:
    • %09,%0a,%0b,%0c,%0d,%20,%a0;

    [color=rgb(109, 115, 132) !important]复制代码


    测试了一下,基本上针对MSSQL的[0x01-0x20]都被处理了,唯独在Mysql中还有一个%a0可以利用,可以看到%a0与select合体,无法识别,从而绕过。
    • id=1  union%a0select 1,2,3 from admin

    [color=rgb(109, 115, 132) !important]复制代码




    绕过姿势三:\N形式

    主要思考问题,如何绕过union select以及select from?
    如果说上一个姿势是union和select之间的位置的探索,那么是否可以考虑在union前面进行检测呢?
    为此在参数与union的位置,经测试,发现\N可以绕过union select检测,同样方式绕过select from的检测。

    • id=\Nunion(select 1,schema_name,\Nfrom information_schema.schemata)

    [color=rgb(109, 115, 132) !important]复制代码




    0X03 IIS+ASP/ASPX+MSSQL
    搭建IIS+ASP/ASPX+MSSQL环境,思路一致,只是语言与数据库特性有些许差异,继续来张D盾拦截图:



    绕过姿势一:白名单

    ASP: 不支持,找不到路径,而且D盾禁止执行带非法字符或特殊目录的脚本(/1.asp/x),撤底没戏了
    /admin.php/../1.asp?id=1 and 1=1    拦截
    /1.asp?b=admin.php&id=1 and 1=1 拦截
    可见D盾会识别到文件的位置,并不是只检测URL存在白名单那么简单了。。。
    ASPX:与PHP类似


    • /1.aspx/admin.php?id=1   union select 1,'2',TABLE_NAME from INFORMATION_SCHEMA.TABLES 可成功bypass

    [color=rgb(109, 115, 132) !important]复制代码




    绕过姿势二:空白字符

    Mssql可以利用的空白字符有:01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F,10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20
    [0x01-0x20]全部都被处理了,想到mysql%a0的漏网之鱼是否可以利用一下?
    ASP+MSSQL:  不支持%a0,已放弃。。。
    ASPX+MSSQL: %a0+%0a配合,可成功绕过union select的检测

    • id=1 union%a0%0aselect 1,'2',TABLE_NAME %a0from INFORMATION_SCHEMA.TABLES

    [color=rgb(109, 115, 132) !important]复制代码




    绕过姿势三:1E形式

    MSSQL属于强类型,这边的绕过是有限制,from前一位显示位为数字类型,这样才能用1efrom绕过select from。
    只与数据库有关,与语言无关,故ASP与ASPX一样,可bypass,
    • id=1eunion select '1',TABLE_NAME,1efrom INFORMATION_SCHEMA.TABLES

    [color=rgb(109, 115, 132) !important]复制代码




    0X04 END
      不同语言,中间件,数据库,所对应的特性有些差异,思路却一致,实践出真知,只要动手去探索,还有更多姿势等待被挖掘。
      目前的测试成果,可成功bypass注入防御,如 安全狗、云锁、360主机卫士、D盾_IIS防火墙等主机防护软件及各种云waf,有些姿势都在用。
      有对这方面研究的童鞋,欢迎加好友交流一下姿势。

    1498122514154041.png (197.47 KB, 下载次数: 0)




    个人签名

    simoabc
    LV1 初心者
    帖子    0
    新博币    0 提现
    提现    0
       
      wewqeqwe
      个人签名

      Adawangwang
      LV4 路旁的落叶
      帖子    5
      新博币    0 提现
      提现    0
         


        黑哥好像很牛啊。
        黑哥能留个联系方式否
        个人签名


        提供各大知名平台:真人 老虎机 捕鱼 体育 彩票 扑克 API接口。

        企鹅:1632823724

        我叫比逗不是逗比啦
        LV4 路旁的落叶
        帖子    26
        新博币    0 提现
        提现    0
        TA的勋章:勋章中心
           
          稳稳稳稳技术贴啊
          个人签名

          SKYPE大牛群:https://join.skype.com/RLwq8Ch8AAvP
          我们讨论黑白帽、快排、劫持、目录、泛站等 产业合作交流 小白或非SEO勿进!

          黑哥
          LV1 初心者
          帖子    13
          新博币    1 提现
          提现    0
          TA的勋章:勋章中心
             
            Adawangwang 发表于 2017-10-9 11:23
            黑哥好像很牛啊。
            黑哥能留个联系方式否

            可以啊
            个人签名

            点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 淡定 生气 回帖 路过 感动 感恩
            您需要登录后才可以回帖 登录 | 立即注册

            本版积分规则

            关闭

            博牛推荐上一条 /2 下一条

            快速回复 返回顶部 返回列表