소스 정보
- 저장소
- cdxiaodong/cain-agent
- 최근 소스 활동
- 2026년 8월 4일 02:44
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 454
- 포크
- 105
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/cdxiaodong/cain-agent --skill sqli명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
XSS 测试技能 —— 面向真实业务系统,区分渲染上下文(HTML/属性/JS/CSS/URL),覆盖存储型/反射型/DOM 型,对抗 CSP 与输入过滤,产出可复现 PoC
SSRF 测试技能,覆盖盲 SSRF、内网可达性与七类主流云元数据服务的低影响验证
文件包含检测技能 —— 面向真实业务系统,定位接收文件路径参数的端点(页面渲染/模板加载/配置导入),通过注入路径遍历和 URL 参数探测应用是否未过滤用户输入的文件路径,验证 LFI(本地文件包含)和 RFI(远程文件包含)漏洞,产生可复现 PoC
SOC 직업 분류 기준
SKILL.md 표시 중
| name | sqli |
| description | SQL 注入测试技能 —— 面向真实业务系统,覆盖参数边界、布尔/时间盲注、WAF 绕过与误报规避,产出可复现 PoC 与证据链 |
| phase | test |
| severity_focus | high |
定位:面向真实授权业务系统的注入验证,不是 CTF writeup 的 payload 罗列。重点在「参数边界判定、注入点定位、响应差异建模、误报排除」,而非追求一个 flag。
满足以下任一信号即应进入本技能(侦察阶段产出 endpoints.json 已标注候选注入点优先级):
id / q / search / sort / 分页 page / offset / 筛选器 filter),且响应体随参数值语义变化(列表条数、字段、排序顺序)。Cookie 中的会话/偏好字段、X-Forwarded-For、Referer、User-Agent(后端记日志时常拼入 SQL)。order_by / group_by 字段名注入、raw() / extra() 逃逸是高发点)。assets.json 的数据流追踪判断是否值得测。对齐 DESIGN §3.1:L1 探测(快速排除明显不存在)→ L2 验证(确立可复现差异)→ L3 绕过(对抗真实 WAF / 风控)。每层只做上一层成立后才推进的事,避免对每个参数都跑完整 payload 表烧 token。
目标:用最小请求量判定「该参数是否可能受 SQL 语法影响」,不追求确认漏洞。
真值基准 与 AND 1=1 / AND 1=2(数字型)或 ' AND '1'='1 / ' AND '1'='2(字符型),比较响应指纹(状态码、Content-Length、关键 DOM 节点数、耗时)。; WAITFOR DELAY '0:0:3' --(MSSQL)/ AND SLEEP(3)(MySQL)/ pg_sleep(3)(PG)/ DBMS_PIPE.RECEIVE_MESSAGE('a',3)(Oracle),以响应延迟相对基准的稳定偏移(非单次抖动)为信号。' / " / ) / \ 单字符,观察是否触发数据库原生错误回显、HTTP 500、或响应结构塌缩(ORM 异常常表现为 500 + 框架默认错误页)。L1 的产出是「候选参数 + 初判数据库指纹 + 注入类型假设」,写入
findings.json的hypothesis字段,不直接定级。
目标:把 L1 假设变成可复现、可向他人演示的差异证据,禁止仅凭响应码或单次延迟下结论。
sleep;单次 3s 不能定论(GC、慢查询同样造成延迟)。ORDER BY n 二分定位列数,再取可见回显列;报错型优先用函数回显(如 MySQL updatexml / PG CAST 异常 / MSSQL convert),避免堆叠多请求。@@version / version() / banner from v$version)一起取,把「假设的库」收敛为「确认的库」,定级与后续 payload 都依赖它。目标:在目标存在 WAF / 风控 / 输入过滤时,验证注入是否仍可达——这才是实战与靶场的分水岭。
SELECT / UNION / AND / 空格 / 注释符,记录哪些被拦截(403 / WAF 页 / 静默丢弃),建立「过滤面」清单,而非盲目堆 payload 字典。/**/、URL 双重编码、%0b 等空白替代、等价函数(SUBSTRING↔MID、ASCII↔ORD);变形以「绕过该特定 WAF」为目标,逐个验证而非组合爆破。AND 被禁用 && / BETWEEN;空格被禁用括号语法 UNION(SELECT...);引号被转义时尝试宽字节(GBK 场景 %bf%27)或 CHAR() 构造。L3 成立是定级上调的依据(绕过防护 = 利用链真实可达),但产出仍须 PoC + 证据,不得凭「能绕过」直接定级。
什么才算确认 SQLi(缺一不可,禁止仅凭响应码/单次现象下结论):
id=1 vs id=1 AND 1=2),证明差异由 SQL 语义而非业务逻辑引起。information_schema / sysobjects 可访问性),避免「疑似注入」的模糊定级。scope.yaml in_scope 且有书面授权的目标上运行;ScopeGuardHook 拦截即停,不尝试旁路自身防护。DROP / UPDATE / DELETE / INSERT / 写文件 / 执行系统命令等破坏性或持久化操作——证明可读性已足以定级,写操作不提供额外安全价值且违反只读原则。findings.json / 日志 / 报告。