用途:面向SQL注入的检测、利用与绕过,适用于存在表单提交、登录页面、搜索功能或数据查询接口的目标。能力与流程:Phase 0先检查POST参数完整性,提取所有input/button的name(含hidden、submit),因PHP可能用isset($_POST['submit'])验证;若注入单引号与正常值响应相同,说明缺参数。Phase 1用单引号测试注入点,并用ORDER BY二分法确认列数,必须找到N+1失败的边界。Phase 2优先UNION注入,需穷尽6种变体(标准、NULL、不同注释符、大小写绕过、检查回显位、检查完整HTML源码),成功后立即提取数据。Phase 3在UNION失败后使用报错注入,按EXTRACTVALUE、UPDATEXML、floor+rand、exp()溢出、BIGINT溢出依次尝试,并区分MSSQL、PostgreSQL等数据库差异;注意EXTRACTVALUE最多返回32字符,flag被截断时必须使用references/union-and-error.md中的Python脚本自动提取,禁止手动SUBSTRING拼接。Phase 4报告前强制验证:长度匹配、flag格式以flag{开头}结尾、hash长度通常为32/40/64。参考文档还包括盲注、WAF绕过与sqlmap、高级注入、数据库特定技术等。限制:curl与浏览器发送参数存在差异,curl需手动添加参数;技能内容为方法论,未提供具体网站或环境信息。
sql-injection-methodology
安全与审计
更新于 10-16 08:01