一个空字节(\x00)在请求的 Content-Disposition 头部的 filename 字段中会触发 InvalidFileNameException,异常消息中包含相同的(客户端控制的)文件名字符串,该字符串可在错误处理期间被用于触发 OGNL 评估。请注意,这与最初在 S2-045 中报告的 Content-Type 向量 以及 S2-046 中提到的 Content-Length/Content-Disposition 变种 相似但不同。
上述所有变种已经在 Struts2 版本 2.3.32 和 2.5.10.1 的补丁中修复,项目也可以改用 struts-extras 在不升级的情况下进行就地缓解,但请注意,以前的针对 Content-Type 的 WAF/LB 对策可能无法防御这些替代向量。
sh exploit-cd.sh [url] [command] [[add'l curl args]]
