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

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

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

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

155035320.png

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

155808482.png

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

可以同python脚本利用漏洞远程执行命令查看验证

161116985.png

所以可以知道:我们能通过漏洞远程执行命令,同时又可以是root权限

161441401.png

于是就使用之前的jsp上传页面(很多人也称为jsp小马),上传了一段代码。

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

162555385.png

可以看到以root身份登录系统,以及ip地址和系统发型版本ubuntu9.10

162643814.png

可以查看并验证一下struts的版本

003344650.png

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

本文出自 “老徐的私房菜” 博客,谢绝转载!

你可能感兴趣的:(linux,struts2,漏洞利用,网站渗透)