ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

3小时跑通DVWA-Chinese漏洞靶场:从环境搭建到拿下SQL注入

3小时跑通DVWA-Chinese漏洞靶场:从环境搭建到拿下SQL注入 3小时跑通DVWA-Chinese漏洞靶场从环境搭建到拿下SQL注入【免费下载链接】DVWA-ChineseDVWA全汉化版本项目地址: https://gitcode.com/gh_mirrors/dv/DVWA-Chinese第一次搭Web安全漏洞靶场我盯着满屏英文安装报错到凌晨两点。数据库连不上、页面404、PHP扩展没装……一个还没开始学的漏洞靶场先用排错给我上了一课。后来换用DVWA-Chinese这个全汉化版本40分钟跑通部署当天就完成了第一次SQL注入攻击演练。这篇指南把那段弯路帮你省掉从环境搭建到实战攻防一条线走完。先搞明白这个全中文靶场到底是什么DVWA-Chinese是经典漏洞靶场DVWADamn Vulnerable Web Application的完全汉化版。它内置了14个真实存在的Web漏洞模块从SQL注入、XSS到文件上传、CSRF每个模块都提供了四档安全等级。你可以在本地合法环境里随意搞破坏再切到高等级看看防御是怎么被一步步加强的。一句话形容它就是Web安全学习的新手村NPC每个漏洞模块都排好了队等着你一个一个挑战。三步让靶场跑起来推荐一条最顺的主线PHP MariaDB Apache 的经典组合。第一步装依赖并拉代码。Debian系发行版先执行apt-get install -y apache2 mariadb-server php php-mysqli php-gd git clone https://gitcode.com/gh_mirrors/dv/DVWA-Chinese第二步改数据库配置。把项目放进Web根目录如/var/www/html/然后备份并编辑配置文件cp config/config.inc.php config/config.inc.php.backupconfig/config.inc.php里默认写的是root/root连127.0.0.1:3306。如果你用的是MariaDB别直接用root先建一个专用账号create database dvwa; create user dvwalocalhost identified by pssw0rd; grant all on dvwa.* to dvwalocalhost;再把配置文件里的用户名、密码、库名改成对应值。别忘了给上传目录写权限hackable/uploads/需要让Web服务可写。第三步一键初始化数据库。浏览器打开http://localhost/DVWA-Chinese/setup.php点创建/重置数据库。看到初始化检查全部打勾就完成了。默认登录账号是admin密码password——它甚至故意在页面上提醒你这密码很容易被暴力破解为后面的暴力破解模块埋了伏笔。✅ 想偷懒的话Docker一条命令也能起docker run --rm -it -p 80:80 vulnerables/web-dvwa。但本地装一遍能帮你搞清楚文件、配置和权限的来龙去脉这笔时间花得值。第一次攻击给SQL注入递一张万能门禁卡登录后进入SQL注入模块安全等级默认是low。页面上有个输入框让你按ID查用户。先正常输入1返回了用户名。然后试着输入1 or 11页面立刻把数据库里的用户全列了出来。原理不复杂low级别的源码把输入直接拼进了SQL语句$query SELECT first_name, last_name FROM users WHERE user_id $id;;你输入的把原本的引号闭合or 11让条件永远成立。就好比你往门禁卡槽里塞了张万能卡门禁系统以为来的每个人都是合法用户。再看impossible级别的源码防御思路一目了然——参数化查询$data $db-prepare(SELECT ... WHERE user_id (:id) LIMIT 1;); $data-bindParam(:id, $id, PDO::PARAM_INT);用户输入被当作纯数据传给预处理语句再也无法改变SQL结构。SQL注入的攻与防看这两个文件就够入门了。源码入口在模块页的view_source.php每个级别都能翻。第二回合XSS你的网站开始替攻击者传话XSS跨站脚本比SQL注入更阴。SQL注入是骗数据库XSS是骗浏览器——让网站在受害者眼皮底下执行攻击者的脚本偷Cookie、钓鱼、劫持会话都靠它。DVWA-Chinese给了三种XSS分别练反射型vulnerabilities/xss_r/、存储型vulnerabilities/xss_s/、DOM型vulnerabilities/xss_d/。在反射型的输入框里提交scriptalert(hacked)/script页面立刻弹窗。low级别的源码就一行$html . pre你好 . $_GET[name] . /pre;用户输入被原样回显浏览器把script当成了代码执行。换个思路如果这个输入被拼进页面后攻击者把恶意链接发给别人就是一次完整的钓鱼攻击。存储型更危险——脚本会被写进数据库所有访问该页面的人都会中招。练完记得切到高等级源码看它如何用htmlspecialchars把尖括号转义这就是XSS防御的核心手段。第三回合一个伪装成图片的木马文件文件上传模块是服务器入侵的重灾区。low级别没有任何防护你传一个带PHP代码的文件它照单全收并放进hackable/uploads/move_uploaded_file($_FILES[uploaded][tmp_name], $target_path);上传后你甚至能直接访问到它等于把一把钥匙丢在了门口。真正的服务器如果这样写攻击者传个一句话木马服务器就归对方了。切到impossible级别看防御堪称教科书扩展名白名单只收 jpg/jpeg/png检查 MIME 类型且文件小于 100KB用getimagesize()确认它真是图片用 GD 库重新编码剥掉图片里夹带的恶意数据文件名随机化md5(uniqid())杜绝路径可控一条链下来攻击者连钻空子的缝隙都找不到。剩下的漏洞用这张表认全SQL注入和XSS练熟后剩下的模块大多是同一个招式换个场景。用这张表快速建立全局观模块一句话理解攻击切入点SQL盲注页面不返回数据靠真假判断猜答案时间延迟、布尔判断命令注入输入拼进系统命令127.0.0.1; ls文件包含加载攻击者可控的文件本地/远程包含CSRF诱导受害者浏览器代发请求伪造表单、图片标签暴力破解密码太弱就是最大的洞字典爆破登录框不安全验证码验证码能绕过或可复用重放、逻辑缺陷弱会话ID会话ID可预测会话固定、伪造CSP内容安全策略绕过策略配置错误JavaScript前端混淆与绕过读源码、改JS同一个漏洞的四种死法才是这个项目的精华DVWA-Chinese真正的学习价值不在能打穿low级别的成就感而在四个安全等级之间的源码对比low裸奔状态让你看清漏洞的本质medium加了点过滤练你的绕过思路比如大小写、双写、编码绕过high企业级防护逼你研究盲注、二次注入这类进阶手法impossible最佳实践参数化查询、Token校验、白名单全上阵建议的练法是先读low源码再动手打打穿后切到impossible看正确的写法再回头思考medium的过滤为什么能被绕过。每个模块都自带中文帮助文档help/help.php看不懂直接翻。 安全等级在页面顶部的DVWA Security里切换全局生效。收尾你的第一份安全测试计划最后必须强调一点DVWA-Chinese是真漏洞环境⚠️ 只准在隔离的虚拟机或本地环境里玩千万别部署到公网服务器不然下一秒你的机器可能就变成别人的肉鸡。把下面这份清单当作你的入门作业在隔离虚拟机里完成部署记录每步踩过的坑用1 or 11打穿SQL注入low再对比impossible源码三种XSS各打一遍写下各自的触发位置给上传模块构造一个图片马再看它怎么被impossible拦下每练完一个模块把payload和绕过思路记进自己的笔记从第一个404页面到拿下SQL注入大概只需要3小时。剩下的路就靠这份好奇心一路打怪升级了。【免费下载链接】DVWA-ChineseDVWA全汉化版本项目地址: https://gitcode.com/gh_mirrors/dv/DVWA-Chinese创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表