dsh-exploit-kit
漏洞利用原语库:把打靶场经验固化为可组合的利用原语(命令注入/弱类型/Web绕过/JWT/序列化/ECB块拼接),模型负责策略、工具负责生成
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 25, 2026
- Updated
- Sep 7, 2026
Introduction
dsh-exploit-kit
漏洞利用原语库:把打靶场实战经验固化为可组合的利用原语。模型负责策略(判断漏洞类型、组合攻击链),工具负责生成(payload 变体、构造串、拼接方案)。设计依据 dsh-plugin-development §0 工具设计理念:窄而深 / 可组合 / 可观测 / 最小权限。 所有工具纯本地生成,不触网、零副作用。仅限自有/授权/靶场环境。
工具清单(6 个)
| 工具 | 用途 | 经验来源 |
|---|---|---|
xp_cmdi_payload | 命令注入 payload 生成器:分隔符×绕过变体矩阵(;/|/&&/||/换行/子shell/反引号 × 空格IFS/base64/glob/null字节/路径混淆) | 跨靶场三步曲 |
xp_php_juggling | PHP 弱类型绕过:strcmp 数组(param[]=x)、strstr+数字(11iloveyou)、== 弱比较、md5 0e 碰撞、SQL truncation | natas23/24/27 |
xp_web_bypass | Web 过滤绕过:LFI 双写(....//)、相对穿越、null 字节 %00、glob 混淆(nata[s])、日志投毒(UA 注入 PHP)、URL 双重编码 | natas25/29/7 |
xp_jwt_forge | JWT 伪造:弱密钥爆破(victory/business/available/shipping/washington 等)+ claims 构造 + HS256/384/512 签名(node:crypto) | WebGoat |
xp_serialize_php | PHP 反序列化串构造:private 属性 \0ClassName\0prop 编码、base64/URL 包装、Phar metadata 构造步骤 | natas26/33 |
xp_ecb_splice | AES-ECB block splicing 方案:ECB 判定法、填充对齐计算、两次加密 oracle 输入、密文块拼接 | natas28 最难关 |
使用模式
判断漏洞类型 → 调对应原语生成 payload/构造 → 交给 otw_request/red_*/自建脚本提交 → 观察反馈 → 组合多步攻击链。
例:命令注入页 → xp_cmdi_payload(command=whoami) → [|whoami, ;whoami, $(whoami)...]
例:JWT 登录失效 → xp_jwt_forge(bruteforce token) → 命中弱密钥 → xp_jwt_forge(secret, username=admin) → 伪造 admin token
例:AES 加密查询 → xp_ecb_splice(prefixLen, injectOffset, payload) → 按方案两次 oracle → 拼接密文
开发
pnpm install # peer: cordis / schemastery / dsh-tools
pnpm typecheck
pnpm build # tsc → lib/
挂载:profile dependencies(link:)+ cordis.patch.yml insert 行 agent-exploit-kit。
边界
- 仅限自有/授权/靶场环境;每个工具 description 均声明边界
- 生成类工具不发起真实请求——实际利用需模型组合 HTTP/SSH 工具完成
- 已知坑:schema object 参数必须显式
additionalProperties(见记忆库 dsh-tools schema 教训)