zoukankan      html  css  js  c++  java
  • 网络安全从入门到精通(第九章-5) Bypass

    本文内容:

    • 什么是bypass
    • WAF检测机制
    • 常见绕WAF手法

    1,什么是bypass:

      WAF是一个缩写,全名叫做Web应用防护系统,是通过执行一系列针对HTTP/HTTPS的安全性策略来专门为Web引用提供保护的一款产品。

      WAF分类:

        硬件类型:价格昂贵,正常企业不会购买。

        软件类型:安全狗、云锁、悬镜、护卫神、云盾、D盾。

      Bybass:字面意思,就是绕过,通过特殊语句的构建进行渗透测试,然后达到绕过WAF的手法。

    2,WAF检测机制:

      核心:正则匹配,还有字符串强行匹配,语义解析等,最常见的还是正则匹配,[通过匹配,符合规则,就拦截]。

    3,常见绕WAF手法:

      在传参时,,被WAF拦截,要先将传参的数据,一点点拆开了,看看WAF具体是匹配什么拦截的。

      1.如是1=1:

        尝试:

          -1=-1 返回正常

          -2=-2 报错,说明此处存在注入点。

      2.如是and:

        尝试:

          数据库的逻辑符号:"$"

        注意:"$"在url中具有特殊含义,所以需要进行URL编码。

      3.如是sql语句:

        尝试1:

          内联注释:内联注释,是mysql为了保持与其它数据库兼容,将mysql中特有的语句放在/*!.....*/中执行。

          这些语句在不兼容的数据库中不执行,而在mysql中自身识别,执行。

          举例:id=1 union /*!10044select*/1,2,3

          解释:10044为数据库的版本,可通过版本绕过,使用burp抓包爆破,看那些版本是可以绕过的。

        尝试2:

          注意:绕过方法是可以结合的,比如内联结合特殊字符。

          举例:id=1 union -- qwe/*%0a select1,2,3from admin %23 */

          解释:0a换行 -- qwe注释/*  %23注释*/

        尝试3:

          可以使用Apace参数污染,Apace特有的。

          举例:id=1 /*$id=2 union select 1,2,3 from admin %23*/

          解释:传参时,以为id=1,解析时,实际id=2

      4.总结:

        1.大小写绕过[很老WAF才有用]

        2.替换绕过[很老WAF才有用]

        3.特殊字符绕过:如[%0a换行]

        4.编码绕过

        5.等价替换[利用其它函数替换]:如union #%0aselect拦截 [union all #%0aselect不拦截]

        6.容器特性:如Apace的参数污染 HPP,或者是IIS的%分隔在IIS传参里面写s%e%l%e%c%t=>select

        7.白名单:如[管理员权限或者是127.0.0.1本地访问不拦截]

        8.缓冲区:数据太多了,超出了WAF检测的范围。

        9.函数+特殊符号:有些函数加了反引号,也是可以运行,常见的是sleep、updatexml。

        

  • 相关阅读:
    [原]音视频播放笔记
    [原]很多时候, 错误源于自己
    [原]找工作之tj
    [原]昨天碰到的一个诡异问题
    [原]硬盘分区规划
    [原]编程手记2008.08.26
    [原]编程手记2008.08.28
    eclipse 某些java文件乱码
    图片垂直居中,兼容ie6
    ul里不能直接嵌套div
  • 原文地址:https://www.cnblogs.com/xz25/p/12771918.html
Copyright © 2011-2022 走看看