sql-injection-testing
执行 SQL 注入安全测试
Web 应用程序面临着持续的 SQL 注入威胁,可能导致敏感数据泄露。本技能为授权安全专业人员提供系统性的漏洞评估技术,用于识别和修复数据库安全缺陷。
下载技能 ZIP
在 Claude 中上传
前往 设置 → 功能 → 技能 → 上传技能
开启并开始使用
测试它
正在使用“sql-injection-testing”。 测试负载:' OR '1'='1 注入到用户名字段
预期结果:
认证绕过成功。查询从检查凭据转换为永真式,总是返回 true,无需有效凭据即可授予访问权限。
正在使用“sql-injection-testing”。 UNION SELECT NULL, table_name, NULL FROM information_schema.tables--
预期结果:
漏洞报告:确认基于 UNION 的 SQL 注入。攻击者可以枚举所有数据库表,包括 users、orders、payments。严重程度:CRITICAL。修复:实施参数化查询。
安全审计
低风险Static analysis flagged 61 external_commands and 1 network pattern, but all are FALSE POSITIVES. The backticks detected are SQL code examples in documentation markdown, not shell execution. Network references are SQL payload examples (UTL_HTTP.REQUEST), not actual network code. This is educational security documentation for authorized penetration testing with proper legal guardrails.
低风险问题 (1)
风险因素
⚙️ 外部命令 (1)
🌐 网络访问 (1)
质量评分
你能构建什么
渗透测试项目
执行客户 Web 应用程序授权评估的安全顾问可以使用本技能系统性地识别 SQL 注入漏洞并演示其影响。
安全代码审查
审查应用程序代码漏洞的开发团队可以使用这些技术了解攻击者如何利用弱输入验证,并实施适当的防御措施。
安全教育和培训
学习 SQL 注入攻击向量和防御措施的安全专业人员可以研究这些记录的技术,建立 Web 应用程序安全专业知识。
试试这些提示
帮助我识别 Web 应用程序中的潜在 SQL 注入点。目标在 /product.php?id= 参数处有一个产品页面。我应该尝试哪些初始测试负载来检测漏洞,应该查找哪些响应?
我已确认存在 SQL 注入漏洞。指导我使用 ORDER BY 确定列数,然后帮助我构建一个 UNION SELECT 查询从 information_schema 提取表名。
应用程序不显示错误消息也不显示数据库内容。帮我设计一个基于布尔的盲注方法,使用条件响应逐个字符地提取数据库名。
我正在测试一个登录表单,其查询为:SELECT * FROM users WHERE username='[input]' AND password='[input]'。展示可以绕过认证的负载,并解释每个负载如何转换生成的查询。
最佳实践
- 测试前始终获取书面授权,明确定义范围和参与规则
- 使用非破坏性负载来演示漏洞,不提取真实用户数据
- 记录所有测试用例、使用的负载和响应以进行综合报告
- 通过既定紧急渠道立即报告关键发现
- 根据数据保护协议处理任何提取的数据
避免
- 未经明确书面授权,切勿执行 DROP、DELETE 或 TRUNCATE 查询
- 避免可能导致拒绝服务的资源密集型查询
- 不要提取超过证明漏洞存在所需的数据
- 切勿在项目定义范围之外测试系统