Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2023-41717 — 本仓库旨在为 CVE-2023-41717 提供 write-up 和 PoC。 | Kitploit
工具/GitHubGitHub/federella/cve-2023-41717
漏洞分析漏洞利用Web安全论文与研究学习与教育
GitHubfederella/cve-2023-41717

CVE-2023-41717

本仓库旨在为 CVE-2023-41717 提供 write-up 和 PoC。

查看仓库
1212年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2023-41717

Zscaler Proxy 3.6.1.25 及更早版本中存在不恰当的文件类型控制漏洞,允许本地攻击者绕过文件下载/上传限制。

执行摘要

2022 年夏天,我发现了一个影响 Zscaler 代理(3.6.1.25 及更早版本)的漏洞。该漏洞将允许本地攻击者使用 Burp 等工具,甚至使用依赖后台智能传输服务(BITS)协议的原生 Microsoft 实用程序(如 Bitsadmin),绕过对受密码保护的压缩包的下载/上传限制。

根据 Microsoft 的文档,BITS 协议*“定义了一种将大型有效负载从客户端传输到 HTTP 服务器或反之亦然的方法,即使在遇到中断的情况下,也可以通过将有效负载分成多个片段来发送”*。这允许绕过基于文件类型的限制,因为 Zscaler 无法在多个请求中正确重建文件。

尽管此概念验证仅关注_下载_方面,但该漏洞同样适用于上传。

概念验证

在本节中,重点介绍了绕过 Zscaler 对受密码保护的压缩包下载限制的两种不同方法。 测试针对客户端 3.6.1.25 版本进行,使用了以下 URL。

方法 1:手动构造 HTTP 请求

第一种方法涉及修改 HTTP 请求,可以通过浏览器或 Burp Suite 等工具完成。为了本次测试,我选择了前者。

下图显示了请求被 Zscaler 拦截并阻止的情况。在添加 Range 头(值为 bytes = 0-x,其中 x 是小于文件总大小的任意值)后,请求被重新发送。

ZScaler blocking password-protected downloads

请求重新发送后,会收到状态码为“206 Partial Content”的响应。响应头将显示文件总大小,而响应正文以 base64 编码。

Sample response 1/2

Sample response 2/2

通过手动增加字节范围值来重复请求,直到到达最后一个文件块。

Multiple requests

生成的负载可以通过多种方式重建:在本次测试中,使用了自定义的 Powershell 脚本(您可以在 Reconstruct-Payload.ps1 中找到它)。

重建 zip 文件的 MD5 哈希(CE6CFFEA60C6CDF40C998E56B6EFBD20)与 Virus Total 上找到的预期哈希匹配。

PowerShell Script

Resulting hash

Hash check on VT

方法 2:BITS

第二种方法利用 Microsoft 的 BITS 协议,该协议会将下载请求原生地分成多个块。

本次测试使用 CLI 实用程序 bitsadmin.exe,命令行如下:

bitsadmin.exe /transfer <job name> /download /priority normal <URL> <path_destination_file>

Bitsadmin commandline

Bitsadmin test

生成的 zip 的 MD5 哈希与上一节中找到的哈希匹配。

下载工具