利用最新struts2远程执行命令漏洞***网站的演示

Struts是Apache基金会Jakarta项目组的一个开源项目,Struts经过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller(MVC)设计模式的应用框架,是MVC经典设计模式中的一个经典产品。目前,Struts普遍应用于大型互联网企业、政府、金融机构等网站建设,并做为网站开发的底层模板使用,是应用最普遍的Web应用框架之一。python

近日,Struts2曝出高危安全漏洞,淘宝、京东、腾讯等大型互联网厂商均受此影响,利用漏洞能够远程执行系统命令。如下我就以struts2的漏洞演示一下***网站的过程,以此警示该漏洞的危害!但愿各网站的SA迅速采起措施。web

首先找出可能存在漏洞的页面,进行测试。shell

155035320.png

用一个python脚本,测试后发现存在漏洞,利用这个漏洞执行写入操做,写入一段具备jsp上传功能页面的代码,成功后能够访问该页面。ubuntu

155808482.png

输入内容框里,我没有提交jsp webshell的代码,这里我换了一种思路,而这种思路仅限于系统管理员是以root管理tomcat服务,且tomcat下应用程序的目录属主为root,若是咱们攻下了这个服务,取得了该服务的管理权限,也就得到了系统权限,因此咱们平时建议用非系统的独立用户来管理服务,好比tomcat服务就用tomcat用户启动且服务的目录也赋予tomcat为属组和属主。设计模式

能够同python脚本利用漏洞远程执行命令查看验证tomcat

161116985.png

因此能够知道:咱们能经过漏洞远程执行命令,同时又能够是root权限安全

161441401.png

因而就使用以前的jsp上传页面(不少人也称为jsp小马),上传了一段代码。服务器

接着轻松拿下web服务器的root权限。框架

162555385.png

能够看到以root身份登陆系统,以及ip地址和系统发型版本ubuntu9.10jsp

162643814.png

能够查看并验证一下struts的版本

003344650.png

利用struts2的安全检测到此为止,再次申明:这次网站安全检测是为了告诫广大系统管理员安全问题不可小觑,也许你作了不少工做搭建系统集群,最后因为安全问题,毁于一旦,失去了leader的信任太不值得,最后我已经通知网站管理员修复漏洞,请你们不要再尝试我以上的过程,不然后果自负咯,若是本身站点也用了struts2,那么赶忙去修补漏洞吧!Apache Struts团队已发布了最新的Struts 2.3.15.1,修复了上述漏洞,建议采用Struts 2.0至Struts 2.3的网站开发者尽快升级至最新版。