靶场网站搭建
去年夏天,靶场我在一台退役的网站ThinkPad T430上跑了三周DVWA,笔记本风扇响得像要起飞。搭建那台机器现在还在我工位底下吃灰,靶场但靶场环境一直没删。网站搭靶场这事,搭建说复杂也复杂,靶场说简单——你只要搞清楚一件事:你要练什么。网站 别急着装Docker。搭建很多人上来就复制粘贴一堆docker-compose.yml,靶场跑起来发现端口冲突、网站镜像拉不下来、搭建容器启动就退出。靶场问题出在没想清楚目标。网站我见过有人为了练SQL注入,搭建硬是在Ubuntu Server上手动编译PHP 5.3,折腾两天,最后连个phpinfo都没跑通。图什么?直接上Docker镜像,十分钟搞定的事。 硬件层面就两条路。物理机装靶场,适合练底层漏洞——比如内核提权、驱动对抗,虚拟机跑不了那么真。但多数Web安全练习,虚拟机足够。我自己的配置是:宿主机Windows 11,VMware Workstation跑Ubuntu 22.04,2核4G内存,给靶场单独划了40G磁盘。别用快照当备份,快照多了磁盘撑爆,直接克隆完整虚拟机更省心。 系统选Ubuntu Server还是Desktop?Desktop。别跟自己较劲,图形界面能省掉大量配网络、调分辨率的破事。我试过纯命令行装DVWA,光配Apache的mod_rewrite就查了半小时文档。Desktop版直接apt install,浏览器一开就能访问。 vulhub是我最常用的。git clone下来,进对应目录,docker compose up -d,完事。比如想练Log4j2,进log4j/CVE-2021-44228,一条命令起环境。但vulhub的镜像有些年久失修,比如Struts2某些版本,JDK依赖会报错。这时候别死磕,去GitHub issues里翻,通常有人贴了修改后的Dockerfile。 不想碰Docker?XAMPP加DVWA源码包,解压到htdocs,改config文件里的数据库密码,浏览器跑setup.php。这套流程我2019年用过,现在依然能跑。慢是慢点,但每一步都看得见。适合刚接触Linux的新手,至少能搞清楚Apache的网站根目录在哪。 虚拟机网络模式选NAT还是桥接?NAT省事,宿主机能访问,但局域网其他机器连不上。桥接的话,靶场直接暴露在局域网里——如果你在公司网络干这事,IT部门可能会找你喝茶。我一般用NAT,然后宿主机端口转发。VMware里设置一下,把虚拟机的80端口映射到宿主机的8080,浏览器访问localhost:8080就行。 有个细节:DVWA的默认密码是admin/password,但有些版本安装完会强制你改。改完忘了?进数据库直接改表。mysql -u root -p,use dvwa; update users set password = md5('newpass') where user = 'admin'; 这招我用了不止一次。 我见过有人一口气装了DVWA、SQLi-Labs、Upload-Labs、XSS-Labs、WebGoat,结果每个都只跑了个首页。靶场的价值在于反复练,不是集邮。DVWA的low级别,SQL注入那关,我手动注了二十多遍,才真正理解union select的列数怎么数、报错注入的concat怎么拼。后来换成sqlmap跑,反而觉得没意思了。 Upload-Labs的Pass-01到Pass-21,我卡在Pass-14整整一个周末。前端校验、MIME绕过、.htaccess、二次渲染——每个关卡都在逼你换思路。这种挫败感是靶场的核心价值。跑通那一刻,比看十篇教程都管用。 最后说个真事。上个月帮朋友搭靶场,他非要装最新的CVE-2024-某个RCE环境。Docker镜像拉下来,容器起不来,日志显示依赖的某个库版本冲突。我让他换vulhub里2023年的旧环境,五分钟跑通。靶场是拿来练手的,不是拿来追新的。能跑、能复现、能让你反复折腾,就是好靶场。先选平台,再选靶场
Docker是捷径,但不是唯一的路
网络配置是个坑
靶场不是越多越好
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-