无处不在的sql注入加过安全狗上传木马
字数 1456 2025-08-09 22:00:37
SQL注入与绕过安全狗上传木马实战教学
一、漏洞背景与发现
SQL注入是一种常见的Web应用程序安全漏洞,攻击者通过在用户输入中插入恶意SQL代码,可以绕过认证、获取敏感数据或执行数据库操作。本案例展示了如何发现并利用SQL注入漏洞,以及如何绕过安全狗防护上传WebShell。
二、目标发现与信息收集
-
C段扫描技术:
- 目标网站的后台可能位于同一IP段的其他IP地址上
- 使用C段扫描工具(如Nmap、Masscan等)扫描同一网段的其他IP
- 发现目标网站后台位于另一个IP地址上
-
后台识别:
- 扫描发现的系统可能不是主后台,而是用户后台
- 注意观察页面功能和返回信息判断系统性质
三、SQL注入漏洞检测与利用
-
初步测试:
- 使用基础注入测试:
admin'(无回显不代表不存在漏洞) - 进阶测试:
admin' or 1=1#(成功登录)
- 使用基础注入测试:
-
注入特征分析:
- 用户名输入被直接输出显示(可能存在XSS或注入漏洞)
- 成功绕过认证表明存在SQL注入漏洞
-
注入类型判断:
- 基于错误的注入(本案例未显示错误信息)
- 基于布尔逻辑的注入(使用or 1=1成功)
- 基于时间的盲注(本案例未使用)
四、文件上传漏洞发现
-
上传功能定位:
- 在后台功能中寻找文件上传点
- 注意各种可能的上传入口(头像上传、附件上传等)
-
安全狗防护绕过技术:
- 直接上传WebShell被拦截
- 使用加密的WebShell绕过内容检测
- 使用
%00截断技术绕过文件扩展名检测
五、WebShell上传实战步骤
-
Burp Suite工具使用:
- 配置浏览器代理(本案例因火狐更新导致代理问题,改用IE)
- 拦截上传请求进行修改
-
绕过安全狗的关键技术:
- 加密WebShell:使用经过编码或加密的PHP脚本
- 截断技术:使用
%00空字符截断文件名- 例如:
shell.php%00.jpg→ 服务器可能解析为shell.php
- 例如:
- 观察服务器响应:
- 302状态码
- "insert data successfully"提示表示上传成功
-
文件路径猜测:
- 尝试常见上传目录(如/uimg、/img、/upload等)
- 本案例中:
/uimg访问失败- 去掉
u访问/img出现403(表示目录存在) - 最终访问上传的WebShell:
1.php
六、经验总结与防御建议
-
攻击者视角经验:
- SQL注入仍然广泛存在,只是挖掘难度增加
- C段扫描可能发现隐藏的管理后台
- 403状态码可能暗示目录存在
- 成功往往在于细微的调整(如/uimg → /img)
-
防御建议:
- SQL注入防御:
- 使用参数化查询/预处理语句
- 实施最小权限原则
- 对输入进行严格过滤和验证
- 文件上传防御:
- 限制上传文件类型(白名单)
- 重命名上传文件
- 禁用上传目录的脚本执行权限
- 定期更新WAF规则
- 系统架构安全:
- 避免将后台暴露在公网
- 不同系统使用不同域名/IP
- 实施严格的访问控制
- SQL注入防御:
七、附录:常用Payload
-
SQL注入测试Payload:
admin' or 1=1# admin' or '1'='1 admin' AND 1=CONVERT(int,(SELECT table_name FROM information_schema.tables))-- -
文件上传绕过技术:
- 扩展名绕过:
shell.php.jpg、shell.php%00.jpg、shell.pHp - 内容混淆:添加图片头、字符编码、加密
- 双重扩展名:
shell.jpg.php
- 扩展名绕过:
-
WebShell示例(仅用于学习):
<?php @eval($_POST['cmd']);?>
本教学文档详细记录了从信息收集到最终获取WebShell的全过程,强调了渗透测试中的关键技术和思维方法。请注意,这些技术仅应用于合法授权的安全测试,未经授权的测试可能构成违法行为。