命令执行与反序列化(二)

一.struts2命令执行漏洞

struts2框架给开发人员开发用的。

struts2框架搭建好后,有个明显的标志:漏洞它的扩展名末尾是.do或.action

打开虚拟机里的Jspstudy,查看端口为8181(输入apache和tomcat端口都可以)

命令执行与反序列化(二)

 

 

进入页面http://192.168.18.36:8181/struts2-showcase/

命令执行与反序列化(二)

 

采用Acunetix-Targets扫描

命令执行与反序列化(二)

 

 命令执行与反序列化(二)

 

 命令执行与反序列化(二)

 

 命令执行与反序列化(二)

 

 命令执行与反序列化(二)

 

 采用k8 Struts2 Exp 20170309扫描

命令执行与反序列化(二)

 

上传文件(传输木马文件)

命令执行与反序列化(二)

 

 命令执行与反序列化(二)

 

 上传小马文件

命令执行与反序列化(二)

 

 命令执行与反序列化(二)

 

s2-045漏洞还原

 连接小马

命令执行与反序列化(二)

 

上传木马,控制服务器

命令执行与反序列化(二)

 

命令执行与反序列化(二)

 

 命令执行与反序列化(二)

 

 命令执行与反序列化(二)

 

 要上传小马文件,然后通过webshell上传大马文件

s2-048攻击过程还原

通过工具Struts048.py验证

命令执行与反序列化(二)

 

s2-052攻击过程还原

https://www.cnblogs.com/Hi-blog/p/7510987.html

S2-057漏洞复现

命令执行漏洞

打开struts.xml文件

命令执行与反序列化(二)

 

 首先在struts.xml配置文件添加<constant name="struts.mapper.alwaysSelectFullNamespace" value="true" />

命令执行与反序列化(二)

 

关掉struts.xml ,其次修改配置文件struts-actionchaining.xml 删掉namespace属性,或使用了通配符*

命令执行与反序列化(二)

 

 命令执行与反序列化(二)

 

 最后把type="chain"改成type="redirectAction"

命令执行与反序列化(二)

 

 命令执行与反序列化(二)

 重启jspstudy

跳转到这个页面,如图

命令执行与反序列化(二)

 

 然后抓包

命令执行与反序列化(二)

 

 命令执行与反序列化(二)

 

 如图添加${(1+1)}

命令执行与反序列化(二)

 

 说明命令执行命令执行与反序列化(二)

 

如图,再次进行实验,复制${#_memberAccess=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS,@java.lang.Runtime@getRuntime().exec('calc.exe')}

命令执行与反序列化(二)

 

 命令执行与反序列化(二)

 

上一篇:struts2文件上传、下载、防止重复提交


下一篇:基于java的学生管理系统