Back to home@jonah791

dsh-exploit-kit

漏洞利用原语库:把打靶场经验固化为可组合的利用原语(命令注入/弱类型/Web绕过/JWT/序列化/ECB块拼接),模型负责策略、工具负责生成

Stars
0
Language
TypeScript
Created
Aug 25, 2026
Updated
Sep 7, 2026

Introduction

dsh-exploit-kit

version license TypeScript

漏洞利用原语库:把打靶场实战经验固化为可组合的利用原语。模型负责策略(判断漏洞类型、组合攻击链),工具负责生成(payload 变体、构造串、拼接方案)。

设计依据 dsh-plugin-development §0 工具设计理念:窄而深 / 可组合 / 可观测 / 最小权限。 所有工具纯本地生成,不触网、零副作用。仅限自有/授权/靶场环境。

工具清单(6 个)

工具用途经验来源
xp_cmdi_payload命令注入 payload 生成器:分隔符×绕过变体矩阵(;/|/&&/||/换行/子shell/反引号 × 空格IFS/base64/glob/null字节/路径混淆)跨靶场三步曲
xp_php_jugglingPHP 弱类型绕过:strcmp 数组(param[]=x)、strstr+数字(11iloveyou)、== 弱比较、md5 0e 碰撞、SQL truncationnatas23/24/27
xp_web_bypassWeb 过滤绕过:LFI 双写(....//)、相对穿越、null 字节 %00、glob 混淆(nata[s])、日志投毒(UA 注入 PHP)、URL 双重编码natas25/29/7
xp_jwt_forgeJWT 伪造:弱密钥爆破(victory/business/available/shipping/washington 等)+ claims 构造 + HS256/384/512 签名(node:crypto)WebGoat
xp_serialize_phpPHP 反序列化串构造:private 属性 \0ClassName\0prop 编码、base64/URL 包装、Phar metadata 构造步骤natas26/33
xp_ecb_spliceAES-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 教训)