一、漏洞简介   ApacheStruts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级JavaWeb应用的开源MVC框架,主要提供两个版本框架产品:Struts1和Struts2。   ApacheStruts2.3.5-2.3.31版本及2.5-2.5.10版本存在远程代码执行漏洞(CNNVD-201703-152,CVE-2017-5638)。该漏洞与ApacheStruts2(S2-045)远程代码执行漏洞原理基本相同,均是由于上传功能的异常处理函数没有正确处理用户输入的错误信息,导致远程攻击者可通过发送恶意的数据包,利用该漏洞在受影响服务器上执行任意命令。