AliCTF 2026 Web - next-challenge · React2Shell 机制梳理

SUBGROUPX Repo: https://github.com/n-WN/SubgroupX 日期: 2026-02-05 / 环境: http://223.6.249.127:28433 / 技术栈: Node.js v20.19.6 alpine x64, Next.js 16.0.6 dev, React 19.2.0 / 题目类型: Web, 500 pts / 结论 通过 React Flight 反序列化触发 server reference,加上 Hello() 的模板字符串 toString sink,实现了不依赖 constructor/__proto__/prototype 的 RCE,最终读取 flag:
Read more

AliCTF 2026 Crypto - Griffin

SUBGROUPX Repo: https://github.com/n-WN/SubgroupX Griffin 这题的关键是 Phase1 恢复的 $x$ 存在仿射不确定性,导致 Phase2 求根得到的是 $x = a m + b$ 而不是 $m$,需要对 $(a,b)$ 做 affine 枚举。 / 结论 flag: alictf{**} 关键坑点: Phase1 恢复的 $x$ 存在仿射不确定性,导致 Phase2 求根得到的是 $x = a m + b$ 而非 $m$,必须做 affine 枚举,最终命中 $(a,b)=(-1,256)$ Full solve code (gist) 复现参数 以下数值来自一次成功复现的检查点和附件内容:
Read more
February 3, 2026

AliCTF 2026 线上赛 Web - staircase

SUBGROUPX Repo: https://github.com/n-WN/SubgroupX 这题最终落地利用点是 MapDB 的 linked record:把 payload 分散种在多段 icon 记录里,再通过极少量元数据 patch 把 “icon” 指向链表头,最后 GET /files/icon 触发 Serializer.JAVA 反序列化完成 RCE。 / 题目信息 题目:staircase 分值:500 目标:拿到 flag{...}(flag 文件位于容器根目录 /flag-<random>.txt) 远程:题面端口会变更,需要以最新为准(本文最终打通的是 tcp *.*.*.*:*,HTTP 服务) hint: 远程环境不出网 MapDB 支持“链表式”记录(linked record)存储/读取,用于巨型记录 最终结论 本地已打通 本题最终落地利用链不再依赖“用受限写原语合成任意字节串”,而是:
Read more