曲靖市网站建设_网站建设公司_PHP_seo优化
2025/12/25 3:29:37 网站建设 项目流程

在DVWA(Damn Vulnerable Web Application)靶场中,从LowImpossible安全级别,SQL注入的防护措施逐级增强,其对应的绕过技巧和攻击思路也发生着显著变化。了解这些差异,能帮助我们更深刻地理解漏洞防御的演进逻辑。

🎯 各级别核心差异与绕过技巧对比

下表清晰地展示了四个安全级别在代码防护、漏洞本质及绕过技巧上的核心区别。

安全级别

代码防护关键点

漏洞本质与攻击思路

核心绕过技巧

Low

无任何防护。用户输入直接拼接进SQL语句。

字符型注入。SQL语句如WHERE user_id = '$id',攻击者需要闭合引号来操控语句。

使用1' or '1'='1等Payload直接利用。步骤清晰:判断注入点、猜字段数、查数据库/表/列、拖数据。

Medium

1. 使用mysql_real_escape_string转义特殊字符(如单引号)。
2. 前端变为下拉菜单,但可通过Burp Suite等工具截断修改。

数字型注入。SQL语句变为WHERE user_id = $id,参数无需引号包裹

1.攻击思路转变:因参数为数字型,直接注入1 or 1=1#
2.绕过转义:查询表名等时,若需引号,可将字符串(如users)转为16进制0x7573657273)绕过。

High

1. 注入点与结果回显分属不同页面,增加自动化攻击难度。
2. SQL语句末尾增加了LIMIT 1限制只返回一行结果。

虽回归字符型注入,但LIMIT 1限制了输出。

核心技巧是注释符绕过。使用1' or 1=1#,其中的#将语句末尾的LIMIT 1注释掉,从而解除输出限制。

Impossible

1.使用PDO预处理语句,从根本上将代码与数据分离,有效防御SQL注入。
2. 引入Anti-CSRF token机制,增加自动化攻击难度。
3. 检查并确保查询结果仅返回一行,防止数据被大量拖取。

漏洞被根除。预处理语句使所有基于恶意拼接的注入技巧全部失效

几乎无法绕过。此级别的设计旨在展示彻底的防御方案,而非提供绕过技巧。

💡 拓展知识:DNSLog注入

无回显的“盲注”场景下,传统注入方式效率极低。此时可考虑一种高级技巧——DNSLog注入。它的原理是,利用数据库函数(如load_file())发起一个带有子查询结果的DNS查询,如果该域名指向攻击者控制的DNS日志平台,那么查询记录(即被窃取的数据)就会被记录下来。

这种方法能有效绕过无回显WAF(Web应用防火墙)​ 的检测。当然,它的实施有一定前提条件,例如需要数据库具有相关权限且运行在Windows系统上

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询