【HW系列】—Struts_2、weblogic漏洞流量特征

本文仅用于技术研究,禁止用于非法用途。

文章目录

  • Struts_2漏洞特征流量特征
      • 一、请求参数特征
      • 二、请求头与内容特征
      • 三、响应特征
      • 四、关联漏洞与检测建议
      • 五、工具辅助与扩展
  • weblogic漏洞特征流量特征
      • 一、反序列化漏洞特征
      • 二、未授权访问漏洞(如CVE-2020-14882)
      • 三、XML外部实体注入(XXE)与文件读取
      • 四、工具利用特征
      • 五、检测与防御建议

Struts_2漏洞特征流量特征

Apache Struts2 框架的漏洞流量特征主要围绕 OGNL(Object-Graph Navigation Language)表达式注入展开,攻击者通过构造恶意请求触发框架对用户输入的错误解析,从而实现远程命令执行(RCE)。以下是其流量特征及检测要点:


一、请求参数特征

  1. OGNL表达式语法
    • 特殊符号:请求参数或路径中频繁出现 %{…}、${…}、#、@ 等符号,用于包裹恶意代码。
GET /login.action?param=%24%7B%40java.lang.Runtime%40getRuntime%28%29.exec%28%22whoami%22%29%7D HTTP/1.1
- Java代码片段:包含 new ProcessBuilder()、Runtime.getRuntime().exec() 等命令执行代码,或调用系统函数(如 cat /etc/passwd)。
  1. 参数名称与路径
    • 高危参数名:如 redirect、action、redirectAction、method 等,攻击者通过篡改这些参数注入恶意载荷。
    • URL后缀特征:访问路径以 .action 或 .do 结尾,例如 /user/update.action 或 /admin/list.do。
  2. 编码与混淆
    • URL编码:恶意载荷经过多次URL编码(如 %24 代表 $,%7B 代表 {)以绕过过滤。
    • 伪协议混淆:尝试使用 file://、http:// 等协议构造路径(如 redirect:file:///etc/passwd)。

二、请求头与内容特征

  1. HTTP头注入
    • Content-Type头利用:在 Content-Type 字段中注入OGNL表达式(如 S2-045 漏洞)。
POST /upload.action HTTP/1.1
Content-Type: %{(#_='multipart/form-data').(#[email protected]@DEFAULT_MEMBER_ACCESS)...}
- 自定义头字段:攻击工具可能添加特殊请求头(如 X-Requested-With: XMLHttpRequest)以触发漏洞。
  1. 工具标识
    • 自动化工具特征:部分漏洞扫描工具(如 Struts2-Scan)的请求头包含固定特征,例如:
      • User-Agent 含 Auto Spider 1.0(安恒工具)或 Struts2-Scan。
      • Cookie 值固定为 SessionId96F3F15432E0660E0654B1CE240C4C36(天融信工具)。

三、响应特征

  1. 命令执行结果回显
    • 系统命令输出:响应包中包含命令执行结果(如 ifconfig 的网络信息或 /etc/passwd 文件内容)。
    • 异常堆栈信息:若执行失败,可能返回 java.lang.ProcessBuilder 或 ognl.OgnlException 等错误信息。
  2. 重定向与状态码异常
    • 302重定向:当利用 redirect 参数时,响应可能返回 302 Found 并携带恶意重定向地址。
    • 非预期状态码:漏洞利用成功时可能返回 200 OK,但内容包含异常数据(如 Base64 编码的命令输出)。

四、关联漏洞与检测建议

  1. 典型漏洞场景
    • S2-045:通过 Content-Type 头注入OGNL表达式,触发远程命令执行。
    • S2-057:利用多路径解析漏洞,构造包含恶意OGNL的URL路径(如 /%24%7B…%7D/actionChain1.action)。
    • S2-016:通过 action 参数注入代码(如 action:%{#[email protected]@getRuntime().exec(‘id’)})。
  2. 检测与防御策略
    • 流量监控规则:
      • 正则匹配 %24%7B.%7D、${.} 等OGNL表达式模式。
      • 拦截包含 ProcessBuilder、Runtime.exec 等关键词的请求。
    • 框架加固:
      • 升级至 Struts2 2.5.20+ 版本并禁用危险功能(如动态方法调用)。
      • 使用WAF拦截包含OGNL特征的请求,限制 .action 路径的访问权限。

五、工具辅助与扩展

  1. 漏洞扫描工具
    • Struts2-Scan:支持批量检测 .action 路径并自动生成OGNL Payload。
    • Burp Suite插件:通过 Intruder 模块插入OGNL表达式测试漏洞。
  2. 日志分析
    • 检查访问日志中高频出现的 .action 请求,结合响应时间异常(如因命令执行导致延迟)。

weblogic漏洞特征流量特征

WebLogic漏洞​​ 是指 Oracle WebLogic 应用服务器中存在的安全缺陷,主要涉及 ​​反序列化SSRF、文件上传、XML解析​​ 等机制的风险点。攻击者可利用这些漏洞远程执行恶意代码、窃取数据或控制服务器,威胁企业核心业务系统安全。以下是其核心分类及典型漏洞:


一、反序列化漏洞特征

  1. T3/JRMP协议交互
    • 协议标识:流量中可见T3协议(默认端口7001)或JRMP协议(端口1099)的通信,特征为TCP长连接及二进制数据流。
    • Magic头标识:Java序列化数据的Magic头为 0xaced(十六进制),Base64编码后以 rO0ABQ 开头。
    • Payload结构:使用 ysoserial 生成的恶意序列化数据,例如 CommonsCollections 或 JRMPClient 链,常见于POST请求体或RMI调用中。
  2. XMLDecoder反序列化漏洞(如CVE-2017-10271)
    • SOAP请求特征:攻击流量发送至 /wls-wsat/CoordinatorPortType 路径,请求头 Content-Type: text/xml,Body中包含恶意XML结构。
    • XML Payload示例:
<java version="1.4.0" class="java.beans.XMLDecoder">
  <object class="java.lang.ProcessBuilder">
    <array class="java.lang.String" length="3">
      <void index="0"><string>/bin/bashstring>void>
      <void index="1"><string>-cstring>void>
      <void index="2"><string>恶意命令string>void>
    array>
    <void method="start"/>
  object>
java>
编码混淆:可能使用URL编码或特殊符号(如 %0a)绕过过滤。

二、未授权访问漏洞(如CVE-2020-14882)

  1. 路径构造异常
    • URL特征:通过路径穿越访问管理接口,例如 /console/css/%252e%252e%252fconsole.portal,触发302重定向或直接返回管理页面。
    • 响应标识:成功访问时返回HTTP 200状态码及管理界面HTML内容,失败时返回401/403。
  2. 命令执行特征
    • 参数注入:GET/POST请求中包含 command 或 cmd 参数,如 http://target:7001/console/images/%252E%252E/cmd.jsp?cmd=whoami。

三、XML外部实体注入(XXE)与文件读取

  1. XXE Payload特征
    • XML实体声明:请求中包含
DOCTYPE test [  ]>
<root>&xxe;root>
- 响应异常:成功时返回文件内容,失败时暴露解析错误(如 java.io.FileNotFoundException)。
  1. 文件读取路径特征
    • 路径遍历:请求参数中包含 …/ 或 …\,例如 /hello/file.jsp?path=…/…/config/config.xml(读取WebLogic配置文件)。

四、工具利用特征

  1. 自动化工具标识
    • User-Agent特征:如 WebLogicScanner、Nuclei 或 sqlmap 的默认标识。
    • 高频试探请求:短时间内对同一接口发送多个变种Payload(如不同编码或路径组合)。
  2. 漏洞验证流量
    • DNS外带检测:利用 dnslog.cn 等平台验证漏洞,流量中可见DNS查询记录(如 payload.dnslog.cn)。
    • 错误响应特征:触发漏洞时返回Java堆栈信息(如 java.lang.RuntimeException)或特定错误码(如500)。

五、检测与防御建议

  1. 流量检测规则
    • 正则匹配:针对 rO0ABQ、%252e%252e、java.lang.ProcessBuilder 等关键词设计规则。
    • 协议监控:拦截非常用端口(如1099)的JRMP流量,或异常T3协议交互。
  2. 防御策略
    • 补丁升级:及时修复CVE-2017-10271、CVE-2020-14882等高危漏洞。
    • 输入过滤:禁用危险协议(如T3)、限制XML解析器的外部实体加载。
    • 网络隔离:限制WebLogic管理端口的访问权限,启用白名单策略。

通过分析协议交互、Payload结构及错误响应,可有效识别WebLogic漏洞攻击流量。实际防御需结合动态检测与框架加固,例如使用 WAF拦截异常路径请求RASP监控反序列化调用链

注:本文遵循CSDN社区内容规范,不涉及具体攻击实现,重点探讨防御方法论。

你可能感兴趣的:(网络安全,蓝队—应急响应,struts,java,后端,网络,web安全,安全)