OpenSSH 口令认证绕过(CVE-2026-123158)复现
2026-11-10
在 Alpine 的 OpenSSH 上复现 CVE-2026-123158:musl 的 crypt 在口令超过 256 字节时返回星号,与口令字段为星号的账号相等,认证被误判为通过。实测 257 到 1024 字节的口令可在同一连接内绕过认证,并与已修复的 9.7p1-r6 做对照。
2396 字
|
12 分钟
Redis Lua 脚本释放后使用到代码执行(CVE-2026-23631)复现
2026-11-08
在 Redis 8.6.2 上复现 CVE-2026-23631:慢脚本超时后钩子进入事件循环,主从全量同步把仍在执行的 Lua 引擎释放,形成释放后使用。先用 gdb 抓到同一 lua_State 被二次释放的调用链,再用公开利用链取得 redis 用户命令执行与反弹 shell,并与修复版本 8.6.6 做对照。
4647 字
|
23 分钟
给相关文章列表定一套打分标准:31 篇文章上的六种算法对比
2026-11-07
博客底部的相关文章由标签重合数改成正文相似度后,效果一直没人验证过。这篇用一个四级关联度标准标注了 169 个文章对,比较了标签、TF-IDF、字符二元组、BM25、LSA 与混合打分六种做法,给出 nDCG@4 与无关项比例,并定下最终的权重与阈值。
2386 字
|
12 分钟
PostgreSQL to_char 堆溢出利用研究记录(CVE-2026-14669)
2026-11-07
记录在 PostgreSQL 18.4 上从公开 PoC 走到自建利用链的研究过程。从分配器方法表的来源讲起,依次建立观测手段、筛选写原语、解决地址漂移、在块头约束下改用复位回调,最终取得反弹 shell。
3275 字
|
16 分钟
PostgreSQL to_char 时区缩写堆溢出到代码执行(CVE-2026-14669)复现
2026-11-05
CVE-2026-14669 是 PostgreSQL to_char 处理时区缩写时的堆溢出。结果缓冲区按格式化串长度分配,每个格式字符 12 字节,而 TZ 项把会话时区缩写直接 strcpy 进去且不校验长度。会话时区是普通用户可改的参数,因此任意可登录账号都能让后端越界写,公开利用已在小版本上打通到命令执行。
5311 字
|
27 分钟
Node.js Brotli 解码器越界写到 RCE(CVE-2026-111497)复现
2026-11-02
CVE-2026-111497 是 Node.js 内置 Brotli 解码器中的堆越界写。解码器将无效的块切换状态误判为输入不足,继续向 8 字节暂存区追加数据,溢出后覆盖相邻字段。本文从端口扫描与业务探测入手,确认目标会将攻击者可控的 Brotli 流送入解码器,随后定位崩溃点并完成远程命令执行。
5125 字
|
26 分钟
PHP2Shell:会话上传进度 OOM 到 RCE(CVE-2026-109618 / CVE-2026-109619)复现
2026-11-01
CVE-2026-109618 与 CVE-2026-109619 都发生在 PHP 请求启动阶段,利用 session.upload_progress 的默认开启,用 memory_limit 触发的 OOM bailout 跳过清理,把悬空指针留给同一个 worker 的下一个请求,最后用伪造的 zend_array 把 pDestructor 指向 zif_system 执行命令。
4869 字
|
24 分钟
PHP 文件读取到 RCE(CVE-2024-2961)复现
2026-11-01
CVE-2024-2961 是 glibc iconv() 转换 ISO-2022-CN-EXT 时最多越界写 4 字节的堆溢出,CVSS 7.3。PHP 应用只要存在任意文件读取,攻击者就能用 php://filter 串接 convert.iconv 把越界写投放到 ZendMM 的空闲链表上,控制下一次分配的位置,再覆盖 zend_mm_heap 的函数钩子执行命令。本文在 Vulhub 的 php/CVE-2024-2961 靶场(PHP 8.3.4 + glibc 2.36)完成从指纹识别、过滤器逐项验证到 webshell 落地的完整复现。
5002 字
|
25 分钟