漏洞挖掘 | 分享几个白帽常用漏洞小技巧
字数 922 2025-08-19 12:41:30

白帽常用漏洞挖掘技巧详解

目录

  1. 编码绕过技术
  2. Cloudflare WAF绕过技巧
  3. XSS绕过技术
  4. OS命令注入案例

编码绕过技术

Base64编码绕过

攻击场景:尝试访问服务器敏感文件被WAF拦截

原始请求

url/?f=etc/passwd
  • 返回403状态码(禁止访问)
  • WAF检测到敏感路径/etc/passwd并拦截

绕过方法

  1. /etc/passwd进行Base64编码

    • 原始字符串:/etc/passwd
    • Base64编码结果:L2V0Yy9wYXNzd2Q=
  2. 构造新请求:

url/?f=L2V0Yy9wYXNzd2Q=
  • 返回200状态码(成功)
  • WAF无法识别编码后的敏感字符串

原理分析

  • WAF通常基于关键词明文检测
  • Base64编码改变了字符串表现形式
  • 服务器端可能自动解码或存在解码漏洞

Cloudflare WAF绕过技巧

属性名混淆技术

示例Payload


绕过技巧

  1. 大小写混淆

    • hrefhrEF
    • srcsRC
    • onerroroNErrOR
    • 绕过简单的字符串匹配规则
  2. data URI利用

    • data:x, 构造空的图片数据URI
    • 确保图片加载失败以触发onerror事件
  3. 属性分隔技巧

    • 使用非常规属性如only=1
    • 破坏WAF的模式识别

其他有效Payload变种

<svg onload=prompt()>
<iframe srcdoc="">

XSS绕过技术

经典绕过方法

  1. JavaScript伪协议

    <a href="javascript:alert(1)">click</a>
    
  2. 事件处理器

    
    
  3. SVG标签利用

    <svg onload=alert(1)>
    

高级绕过技巧

  1. 编码混淆

    
    
  2. 字符串拼接

    <script>eval('al'+'ert(1)')</script>
    
  3. 模板字符串

    <script>alert`1`</script>
    

OS命令注入案例

基础命令注入

漏洞点:系统调用未过滤用户输入

示例

url/?cmd=ls -la

绕过技术

  1. 命令分隔符

    ; cat /etc/passwd
    & whoami
    | id
    
  2. 编码绕过

    $(printf "%s" "Y2F0IC9ldGMvcGFzc3dk" | base64 -d)
    
  3. 环境变量扩展

    ${PATH:0:1}tmp${PATH:0:1}test
    

防御建议

  1. 输入验证

    • 严格限制允许的字符集
    • 使用白名单而非黑名单
  2. 输出编码

    • 根据上下文(HTML/JS/URL等)进行适当编码
  3. 安全配置

    • 禁用危险函数(如eval、system等)
    • 设置Content Security Policy (CSP)
  4. WAF规则

    • 更新规则以检测编码攻击
    • 实现多层级检测机制
  5. 日志监控

    • 记录所有可疑请求
    • 设置异常行为警报

通过掌握这些技术,安全研究人员可以更有效地发现和报告漏洞,同时帮助开发人员构建更安全的应用程序。

白帽常用漏洞挖掘技巧详解 目录 编码绕过技术 Cloudflare WAF绕过技巧 XSS绕过技术 OS命令注入案例 编码绕过技术 Base64编码绕过 攻击场景 :尝试访问服务器敏感文件被WAF拦截 原始请求 : 返回403状态码(禁止访问) WAF检测到敏感路径 /etc/passwd 并拦截 绕过方法 : 将 /etc/passwd 进行Base64编码 原始字符串: /etc/passwd Base64编码结果: L2V0Yy9wYXNzd2Q= 构造新请求: 返回200状态码(成功) WAF无法识别编码后的敏感字符串 原理分析 : WAF通常基于关键词明文检测 Base64编码改变了字符串表现形式 服务器端可能自动解码或存在解码漏洞 Cloudflare WAF绕过技巧 属性名混淆技术 示例Payload : 绕过技巧 : 大小写混淆 : href → hrEF src → sRC onerror → oNErrOR 绕过简单的字符串匹配规则 data URI利用 : data:x, 构造空的图片数据URI 确保图片加载失败以触发onerror事件 属性分隔技巧 : 使用非常规属性如 only=1 破坏WAF的模式识别 其他有效Payload变种 XSS绕过技术 经典绕过方法 JavaScript伪协议 : 事件处理器 : SVG标签利用 : 高级绕过技巧 编码混淆 : 字符串拼接 : 模板字符串 : OS命令注入案例 基础命令注入 漏洞点 :系统调用未过滤用户输入 示例 : 绕过技术 命令分隔符 : 编码绕过 : 环境变量扩展 : 防御建议 输入验证 : 严格限制允许的字符集 使用白名单而非黑名单 输出编码 : 根据上下文(HTML/JS/URL等)进行适当编码 安全配置 : 禁用危险函数(如eval、system等) 设置Content Security Policy (CSP) WAF规则 : 更新规则以检测编码攻击 实现多层级检测机制 日志监控 : 记录所有可疑请求 设置异常行为警报 通过掌握这些技术,安全研究人员可以更有效地发现和报告漏洞,同时帮助开发人员构建更安全的应用程序。