1. 漏洞环境与测试目标解析
Less-20是sqli-labs系列中典型的Cookie注入漏洞场景,与常规GET/POST注入不同,这里需要处理HTTP头部认证机制。该关卡模拟了开发者在Cookie中直接拼接用户输入导致的认证绕过漏洞,主要考察以下技术点:
- Cookie参数的处理与篡改方式
- 自动化注入工具对头部字段的操控能力
- 二次注入场景下的会话维持技巧
我使用Burp Suite+sqlmap组合进行自动化测试时,发现需要特殊处理以下特征:
- 登录成功后才会设置有效Cookie
- 注入点存在于
uname参数但隐藏在Cookie中 - 服务端对请求顺序有严格校验
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 手工探测与注入点确认
2.1 基础请求流程分析
首先用浏览器正常登录后,通过开发者工具观察到关键Cookie格式:
code复制Cookie: uname=admin; PHPSESSID=xxx
手动修改uname值为admin'触发报错,确认存在SQL注入漏洞。典型错误提示:
sql复制You have an error in your SQL syntax... near ''admin'' LIMIT 0,1'
2.2 注入类型判断
通过经典探测链确认漏洞特征:
- 输入
admin' and '1'='1返回正常 - 输入
admin' and '1'='2返回空 - 输入
admin' order by 5--+确认字段数
确定为字符型报错注入,可联合查询。
3. sqlmap自动化利用配置
3.1 请求文件准备
保存包含完整会话的请求到文件req.txt:
code复制GET /Less-20/index.php HTTP/1.1
Host: localhost
Cookie: uname=admin*; PHPSESSID=xxx
...
在注入点标记*号位置。
3.2 关键参数说明
执行命令:
bash复制sqlmap -r req.txt --level=3 --risk=3 --technique=E --batch
参数解析:
--level=3:检测Cookie头部--risk=3:允许使用OR注入
