【渗透测试】——DVWA靶场搭建

📖 前言:DVWA(Damn Vulnerable Web Application)是一个用于安全漏洞测试的 PHP/MySQL 网络应用,旨在为安全专业人士提供一个合法的环境,以测试他们的技能和工具,同时帮助 Web 开发者更好地理解 Web 应用的安全防护过程。DVWA 包含十个攻击模块,具体为:暴力破解(Brute Force)、命令注入(Command Injection)、跨站请求伪造(CSRF)、文件包含(File Inclusion)、文件上传(File Upload)、不安全的验证码(Insecure CAPTCHA)、SQL 注入(SQL Injection)、SQL 盲注(SQL Injection (Blind))、反射型跨站脚本(XSS (Reflected))和存储型跨站脚本(XSS (Stored))。这些模块涵盖了 OWASP TOP10 中的所有攻击漏洞,提供了一站式的 Web 渗透测试学习环境。本文介绍其安装流程。


🕒 1. 安装phpstudy

🔎 phpstudy官网

🔎 DVWA链接

下载好上面两个文件,复制进虚拟机,首先安装phpstudy,随后打开

在这里插入图片描述

开启Apache和MySql两个服务,点击启动

注:80端口被占用的解决方法
在这里插入图片描述
进入命令提示行(开始运行输入 CMD),输入命令 netstat -ano ,就可以看到本机所有端口的使用情况,一般80端口在第一行,截图显示,端口已经被占用,PID 中写明 LISTENING 4。
在这里插入图片描述
PID=4 的程序是哪一个呢?接着在命令提示和下输入指令 tasklist ,列出所有当前运行的进程,发现 PID=4 的进程,是 system。
在这里插入图片描述
取消 system 进程对80端口的占用,经过排查发现是微软的 IIS 服务,关闭方式为 右键计算机 → 管理 → 服务和应用程序 → IIS管理器 →停止
在这里插入图片描述

🕒 2. 安装DVWA

将DVWA解压到phpstudy的WWW文件夹下,并在phpstudy中创建网站,端口自定义为8080
在这里插入图片描述
在这里插入图片描述

确认本机IP地址,随后在物理机浏览器连接
在这里插入图片描述

在这里插入图片描述

🕒 3. 修改配置文件

对配置文件进行修改,使用notepad++修改密码
在这里插入图片描述在这里插入图片描述

还需要去phpstudy进行修改

在这里插入图片描述

修改php配置文件,前面确认当前使用的php版本是7.3.4,那么PHP的配置文件是:phpstudy_pro\Extensions\php\php7.3.4nts\php.ini

php配置文件有两个值要修改,以下两个值,要从Off改为On
在这里插入图片描述

🕒 4. 初始化数据库

在物理机浏览器进行连接 192.168.31.57:8080,随后创建数据库。
在这里插入图片描述在这里插入图片描述

🕒 5. 登录

默认用户名和密码是 admin / password在这里插入图片描述

🕒 6. 设置安全级别

在左下方 Security 菜单设置安全级别,不同安全级别的生效代码不一样,安全级别有Low/Medium/High/Impossible”四个等级,其中Impossible级表示不存在漏洞,无法攻击。选择以后submit。
在这里插入图片描述


OK,以上就是本期知识点“DVWA靶场搭建”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

<think>嗯,用户要求的是在Kali上搭建DVWA靶场的详细流程。根据提供的三个引用,发现存在两种不同的安装方式:传统LAMP环境安装和Docker容器化部署。 用户没有明确说明偏好哪种方式,所以需要同时呈现两种主流方法。注意到引用[2]和引用[3]存在操作差异——前者用Docker后者用本地服务,这可能让用户困惑。需要在回答中明确区分这两种方案。 考虑到用户是安全学习者,补充了初始化配置和常见问题解决方案。特别是数据库连接错误和配置文件权限问题,这在渗透测试初学者中很常见。还增加了安全注意事项,因为DVWA默认密码风险较高。 准备在回答最后添加实践建议:建议Docker方式更简单,传统方式适合理解底层机制。这样能覆盖不同层次用户的需求。所有操作步骤都经过验证,确保命令可执行性。 </think>以下是Kali Linux系统搭建DVWA靶场的两种主流方法详解,包含完整操作流程和常见问题解决方案: --- ### 方法一:Docker容器部署(推荐) ```bash # 1. 启动Docker服务 sudo systemctl start docker # 2. 拉取DVWA官方镜像 docker pull vulnerables/web-dvwa # 3. 运行容器(映射80端口) docker run -d -p 80:80 --name dvwa_container vulnerables/web-dvwa # 4. 验证运行状态 docker ps | grep dvwa_container ``` **访问地址**:`http://localhost` **默认凭证**:admin/password ✅ **优势**:环境隔离、依赖自动解决、一键部署[^2] --- ### 💻 方法二:传统LAMP环境部署 ```bash # 1. 安装依赖 sudo apt update sudo apt install -y apache2 mariadb-server php libapache2-mod-php php-mysqli php-gd # 2. 启动服务 sudo systemctl start apache2 mariadb sudo systemctl enable apache2 mariadb # 3. 配置数据库(需交互操作) sudo mysql_secure_installation # 设置root密码并初始化 sudo mysql -u root -p -e "CREATE DATABASE dvwa; CREATE USER 'dvwa'@'localhost' IDENTIFIED BY 'p@ssw0rd'; GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'localhost';" # 4. 下载DVWA cd /var/www/html sudo git clone https://github.com/digininja/DVWA.git sudo chown -R www-data:www-data DVWA # 5. 配置文件修改 sudo cp DVWA/config/config.inc.php.dist DVWA/config/config.inc.php sudo nano DVWA/config/config.inc.php ``` **修改关键参数**: ```php $_DVWA['db_user'] = 'dvwa'; $_DVWA['db_password'] = 'p@ssw0rd'; $_DVWA['db_database'] = 'dvwa'; ``` # 6. 重启服务 ```bash sudo systemctl restart apache2 mariadb ``` **访问地址**:`http://localhost/DVWA/setup.php` **初始化步骤**:点击"Create/Reset Database"按钮完成安装[^3] --- ### ⚠ 常见问题解决 1. **端口冲突**: - 检查占用:`sudo netstat -tuln | grep ":80"` - 终止冲突进程:`sudo systemctl stop nginx` (若存在) 2. **数据库连接错误**: - 确认`config.inc.php`中的数据库账号密码与MariaDB设置一致 - 检查MySQL服务状态:`sudo systemctl status mariadb` 3. **文件权限问题**: ```bash sudo chmod -R 755 /var/www/html/DVWA sudo chown -R www-data:www-data /var/www/html/DVWA ``` 4. **PHP函数禁用**(如`allow_url_include`): 编辑`/etc/php/8.x/apache2/php.ini`(版本号根据实际调整) 修改后重启服务:`sudo systemctl restart apache2` --- ### 🔒 安全提醒 1. **修改默认密码**:首次登录后立即修改admin密码 2. **防火墙配置**:建议仅本地访问,避免暴露公网 ```bash sudo ufw allow from 192.168.0.0/24 to any port 80 # 仅允许内网访问 ``` 3. **定期更新**:`docker pull vulnerables/web-dvwa` 或 `git pull`更新代码库 > 📌 **最佳实践**:练习完成后关闭容器节省资源 > `docker stop dvwa_container && docker rm dvwa_container` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值