您现在的位置是:焦点 >>正文
怎么搭建多个靶场
焦点8392人已围观
简介一台服务器上跑三个靶场,内存直接爆了。我试过在2核4G的云主机上同时开DVWA、SQLi-Labs和Upload-Labs,结果MySQL自己就吃了1.2G,nginx响应慢得像拨号上网。后来换成Do ...
一台服务器上跑三个靶场,搭建多内存直接爆了。靶场我试过在2核4G的搭建多云主机上同时开DVWA、SQLi-Labs和Upload-Labs,靶场结果MySQL自己就吃了1.2G,搭建多nginx响应慢得像拨号上网。靶场后来换成Docker,搭建多每个靶场独立容器,靶场内存占用反而降了——因为不用为每个环境单独跑一套系统服务。搭建多
所以搭建多个靶场,靶场核心思路就一条:容器化隔离,搭建多统一入口管理。靶场别想着装一堆XAMPP或者phpStudy,搭建多那玩意儿装三个就开始互相抢端口。靶场
Docker + Docker Compose 是搭建多最省事的组合
先装Docker,这步跳过。重点说Compose文件。比如我要同时跑DVWA和Pikachu,写一个docker-compose.yml:
version: '3' services: dvwa: image: vulnerables/web-dvwa ports: - "8081:80" environment: - MYSQL_PASS=password pikachu: image: area39/pikachu ports: - "8082:80" docker-compose up -d,两个靶场就起来了。8081访问DVWA,8082访问Pikachu。互不干扰,删掉容器也不留垃圾。
但这里有个坑:很多靶场镜像默认连localhost的数据库。容器里localhost指向容器自身,不是宿主机。解决办法是用Docker网络。比如DVWA镜像可以加links指向一个独立的MySQL容器,或者直接用镜像内置的数据库。
端口规划别偷懒
我见过有人把十几个靶场全映射到80端口,靠不同路径区分。比如/dvwa、/sqli。这要求每个靶场都支持子目录部署,实际上DVWA改起来就麻烦,配置文件里$_DVWA[ 'cookie_path' ]得跟着调。不如老老实实一个靶场一个端口,8080到8090排下去,记不住就写个README.md放桌面。
资源限制要设,不然一个靶场拖垮全部
Compose里加mem_limit和cpus。比如:
dvwa: mem_limit: 512m cpus: 0.5 这样即使某个靶场被打了内存马或者跑了挖矿脚本,也不会把宿主机搞死。我吃过亏——有个老靶场镜像里的Apache有漏洞,被人扫到后直接fork炸弹,整台机器SSH都连不上。
统一入口用Nginx反代
端口多了记不住。在宿主机装个Nginx,配几个server块:
server { listen 80; server_name dvwa.lab.local; location / { proxy_pass http://127.0.0.1:8081; } } server { listen 80; server_name pikachu.lab.local; location / { proxy_pass http://127.0.0.1:8082; } } 本地hosts文件加几行解析,以后直接敲域名访问。比记端口舒服多了。
别忽略数据持久化
靶场里的数据——比如你上传的webshell、注入的测试数据——默认存在容器内。容器一删全没。如果某个靶场要反复用,挂个volume:
volumes: - ./dvwa-data:/var/lib/mysql 这样重建容器后数据还在。但注意,有些靶场镜像的数据库初始化脚本只在首次启动时跑,挂载已有数据目录后可能跳过初始化,导致空密码登不进去。遇到这种情况,删掉volume重新来一遍就行。
最后说个实际场景
我自己的笔记本上跑了7个靶场:DVWA、SQLi-Labs、XSS-Labs、Upload-Labs、Pikachu、WebGoat、Juice Shop。全部Docker化,Compose文件不到60行。开机docker-compose up -d,关机docker-compose down。内存占用稳定在2.3G左右,i5-8250U完全扛得住。
唯一没容器化的是那些需要Windows环境的靶场,比如某些IIS漏洞复现。那种只能开虚拟机,跟Docker方案分开管理。但纯Web靶场,Docker方案足够覆盖九成需求。
Tags:
上一篇:煤油渗透检测焊缝方法
下一篇:防疫风险漏洞自查报告
相关文章
小旋风是什么意思
焦点小旋风这个词,我最早是在评书里听到的。说梁山好汉里有位“小旋风”柴进,专好接济江湖好汉,家里开着酒店,专供各路英雄白吃白住。那时候我就琢磨,旋风嘛,不就是打转的风吗?可柴进这人,明明是仗义疏财的贵公子 ...
【焦点】
阅读更多阿里云ecs公网
焦点阿里云的ECS公网IP,说白了就是一台云服务器暴露在互联网上的门牌号。没有它,你的网站、接口、爬虫脚本全都只能在自己家里玩。我见过太多新手在这上面栽跟头——买完实例,发现公网IP没配,或者带宽选错了, ...
【焦点】
阅读更多ctf反序列化
焦点CTF反序列化:一场关于信任的攻防游戏 PHP的`unserialize()`函数,在CTF赛题里几乎成了送分题和送命题的分水岭。别被“反序列化”这个术语唬住,说白了就是:程序把一段字符串还原成对象。 ...
【焦点】
阅读更多