1、安装docker环境
a、使用的是ubuntu系统,通过sudo apt install docker.io进行docker得安装,此方式会自动启动docker服务。
b、通过curl -s https://get.docker.com/ | sh进行安装,此方式可能需要手动启动docker服务,启动命令为:service start docker。
安装成功后可通过docker version查看版本信息
2、下载比赛题目
a、通过sudo git clone https://github.com/zhl2008/awd-platform.git下载题目,或在https://github.com/zhl2008/awd-platform.git下载压缩包进行解压,建议直接下载到要部署得服务端。文件内容主要包含以下信息(多出来的team1、team2、team3是因为开启了三个队伍):
3、下载镜像
a、进入项目根目录,下载镜像:sudo docker pull zhl2008/web_14.04。
4、创建比赛队伍
命令为:python batch.py web_yunnan_simple 3,复制3个web_yunnan_simple的靶机,此处需要注意不能以python3启动,否则会报错。
5、修改check.py信息(其余信息也可在其中修改,如刷新时间)
6、开启比赛
通过python start.py ./ 3开启比赛。
7、访问web站点信息
各队伍得网站只需要修改端口即可,例如:http://ip:8801。
8、连接裁判机
进入check_server目录,通过:python check.py执行check.py并访问得分界面,原界面比较丑(0|0|0),在网上找到的夜莫离大佬做的界面,大家需要的自己找一下,大家记得在得分文件中修改ip地址为虚拟机或本地得地址。
9、结束比赛
通过sudo python stop_clean.py来结束比赛服务。
补充:
在搭建的过程中共遇到了以下问题:
1、在自己得操作过程中因为对docker不够熟悉,第二次启动时出现了无法启动check.py的情况,后来经过多次尝试和了解,发现在启动项目之前需要先选择相应的docker容器,可以通过sudo docker images查看本机的容器都有哪些,然后选择对应项目的docker容器即可(docker pull)。
2、如果存在score.txt、result.txt无法写入分数、攻击过程,则给与文件777权限,例如:chmod 777 score.txt。
3、如果文件分数会一直进行扣分,则修改flag_server地址为虚拟机的地址。
4、修改3之后可能会导致分数一直增加,原因是代码中设置了check成功后对应分数+1,修改为0即可。