Web安全实战攻防演练教程:零基础搭建测试环境与常见攻击手法

为什么你需要自己的攻防演练环境

Web安全实战攻防演练教程的第一步,就是搞清楚“练手场”长什么样。
很多新人直接拿生产机器测试注入或跨站,轻则被封IP,重则触犯法律。
正确做法是在隔离环境里跑一套专门的漏洞靶场,比如 DVWA(Damn Vulnerable Web Application)
它自带常见的SQL注入、XSS、文件包含等漏洞开关,你可以放心地一边打一边观察效果。

搭建实验环境的三种方式

方式一:本地虚拟机(最推荐)

  1. 下载 Metasploitable 2DVWA 的 Docker 镜像
  2. 安装 VirtualBox 并导入虚拟机文件,网络模式设为“仅主机(Host-Only)”,保证宿主机能访问即可。
  3. 启动后记录IP(例如 192.168.56.101),直接在浏览器打开 http://192.168.56.101/dvwa/

方式二:使用 LAMP 手动部署(适合想了解配置细节的同学)

在 Ubuntu 服务器上执行:

sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysqli -y
sudo systemctl start apache2 mysql
cd /var/www/html
sudo git clone https://github.com/digininja/DVWA.git
sudo chown -R www-data:www-data DVWA/
cd DVWA/config
sudo cp config.inc.php.dist config.inc.php

完成后修改 config.inc.php 里的数据库密码,然后访问 http://你的IP/DVWA/setup.php 点“Create/Reset Database”。

方式三:Docker 一键部署(最快)

docker run -d -p 80:80 vulnerables/web-dvwa

启动后直接打开 http://localhost/setup.php
如果遇到端口冲突,把 80 改成其他端口即可。

实战演练:SQL注入与跨站脚本攻击(XSS)

SQL注入测试

登录DVWA后把安全等级调成“Low”,进入“SQL Injection”页面。
在输入框输入:

' OR '1'='1' --

点击提交,会看到所有用户数据全部返回。
这是因为你闭合了前面的单引号,后面的条件永远为真。
把这个结果截图保存,作为攻防日志的一部分。

XSS(反射型)测试

进入“XSS reflected”页面,输入:

提交后浏览器会弹出一个警告框。
这就是最简单的跨站脚本攻击:用户输入没被过滤,直接嵌入页面执行。

以上两条命令你都可以在真实练习中反复使用,直到清楚底层原理。注意:不要对着别人的网站这么做,只在自己的靶机上玩。

常见翻车现场与破解方法

问题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 规则(比如过滤单引号),加深对攻击与防守的理解。
如果中途卡壳,优先检查配置文件和网络连通性。
多练几次,你的安全意识和对日志的敏感度都能明显提升。

分享到:
上一篇
Docker与K8s组合使用最佳实践:零基础搭建与避坑指南
下一篇
代码审计工具部署使用方法:零基础Docker安装
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意