Web安全实战攻防演练教程:零基础搭建测试环境与常见攻击手法
2026-06-11 00:40
提交后浏览器会弹出一个警告框。
这就是最简单的跨站脚本攻击:用户输入没被过滤,直接嵌入页面执行。
以上两条命令你都可以在真实练习中反复使用,直到清楚底层原理。注意:不要对着别人的网站这么做,只在自己的靶机上玩。
常见翻车现场与破解方法
问题1:DVWA 登录时报“CSRF token mismatch”
原因:浏览器缓存或 Cookie 冲突。
清空浏览器缓存,或者用无痕模式重新打开登录页即可。
问题2:SQL注入时页面只返回空白
检查是否不小心用了转义字符(比如反斜杠)。
建议重置数据库(/DVWA/setup.php)后重新测试。
同时确认 config.inc.php 里的 $_DVWA[ 'recaptcha' ] 配置没开。
问题3:XSS 弹框不出现
原因:DVWA 当前级别为“Impossible”(完全过滤)。
切回“Low”再试。
另外有些现代浏览器(Chrome)会拦截反射型 XSS,建议用 Firefox 或 Safari 测试。
验证你的防守能力:日志分析与修复加固
攻击完一定要查看日志,这是 Web安全实战攻防演练教程里最容易被忽略的一步。
查看 Apache 访问日志:
sudo tail -f /var/log/apache2/access.log
你会看到类似 GET /dvwa/vulnerabilities/sqli/? 的记录。
id=1'+OR+'1'%3D'1...
仔细看就能发现攻击参数。
如果想防护,可以在 config.inc.php 里把安全级别设为“High”或“Impossible”,这时 DVWA 会对输入做转义和过滤。
总结建议:练完一轮后,把靶机重置,重新用“High”级别再做一次,看同样的攻击是否还能成功。
然后尝试自己写一条简单的 WAF 规则(比如过滤单引号),加深对攻击与防守的理解。
如果中途卡壳,优先检查配置文件和网络连通性。
多练几次,你的安全意识和对日志的敏感度都能明显提升。