Jump to content
  • Hello visitors, welcome to the Hacker World Forum!

    Red Team 1949  (formerly CHT Attack and Defense Team) In this rapidly changing Internet era, we maintain our original intention and create the best community to jointly exchange network technologies. You can obtain hacker attack and defense skills and knowledge in the forum, or you can join our Telegram communication group to discuss and communicate in real time. All kinds of advertisements are prohibited in the forum. Please register as a registered user to check our usage and privacy policy. Thank you for your cooperation.

    TheHackerWorld Official

在线漏洞靶场 可视化UI设计 最牛靶场!

 Share


Recommended Posts

 

一、软件运行环境和简介

功能定制,商务合作,问题/交流群: 512897146

特别说明, 本作品 前端FlawPlatformVue, 后端FlawPlatformMatch可开源使用,但必须免费提供使用。用于任何形式的商务/盈利活动,请提前联系交流群群主。

1.1 软件简介

程序基于 Docker ,使用 Python + Django 前后端分离开发的在线答题程序

二、安装说明

2.1 前端地址

项目为前后端分离项目,前端仓库:https://gitee.com/J0hNs0N/FlawPlatformVue

2.2 安装 Python 3

安装依赖环境

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

下载 python 3.7.1。若出现 command not found 的错误,通过命令 yum -y install wget 安装 wget 即可

wget https://www.python.org/ftp/python/3.7.1/Python-3.7.2.tgz

创建安装目录

mkdir -p /usr/local/python3

解压安装包

tar -zxvf Python-3.7.2.tgz

安装 gcc

yum install gcc -y

Python 3.7 版本之后需要多安装一个依赖环境

yum install libffi-devel -y

进入解压后的 Python 3 安装包目录

cd Python-3.7.1

生成编译脚本

./configure --prefix=/usr/local/python3

编译安装

make && make install

测试安装是否成功

/usr/local/python3/bin/python3

创建软连接

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
ln -s /usr/local/python3/bin/python3 /usr/bin/python3

安装所需依赖

yum install python-devel -y
yum install zlib-devel -y
yum install libjpeg-turbo-devel -y

2.3 使用 SQLite3 数据库

程序默认使用 SQLite3 数据库,但需要升级,若不想使用 SQLite3 可以直接跳转到下一章 3. 使用Mysql 数据库

2.3.1 升级 SQLite3

获取安装包下载地址:https://www.sqlite.org/download.html

image-20220329121505366

下载 Sqlite 最新版安装包

wget https://www.sqlite.org/2022/sqlite-autoconf-3380200.tar.gz

解压安装包

tar zxvf sqlite-autoconf-3380200.tar.gz

进入解压后的安装包目录

cd sqlite-autoconf-3380200

生成编译脚本

./configure --prefix=/usr/local/sqlite3

编译安装

make && make install

检查安装是否成功

/usr/local/sqlite3/bin/sqlite3 --version

检查旧版本

/usr/bin/sqlite3 --version

将旧版本更换名字

mv /usr/bin/sqlite3  /usr/bin/sqlite3_old

设置新版本软连接

ln -s /usr/local/sqlite3/bin/sqlite3 /usr/bin/sqlite3

检查 sqlite3 版本

sqlite3 --version

编辑环境变量文件 $HOME/.bash_profile 添加下列变量

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/sqlite3/lib"

![image-20220330230801271](D:\广东省大学生计算机设计大赛\说明文档\FlawPlatform 漏洞靶场\image-20220330230801272.png)

重新加载环境变量

source $HOME/.bash_profile

检查版本

image-20220329123359686

2.3.2 迁移数据库

解压项目压缩文件后,cd 切换工作目录到项目文件夹中,与 manage.py 同级

image-20220329154328034

创建迁移记录

pyhton3 manage.py makemigrations

image-20220329160345458

迁移创建数据库

pyhton3 manage.py migrate

image-20220329160403589

2.4 使用 Mysql 数据库

2.4.1 安装 Mysql 数据库

centos 直接安装 mariadb 即可

yum -y install mariadb

2.4.2 修改程序配置文件

建议设置只在内网开放 3306 端口 通过 bind-address 设置(注意保存后重启服务)

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# 2.Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 2.Settings user and group are ignored when systemd is used.
# 2.If you need to run mysqld under a different user or group,
# 2.customize your systemd unit file for mariadb according to the
# 2.instructions in http://fedoraproject.org/wiki/Systemd

# 2.设置绑定的 IP 地址为环回口地址 127.0.0.1
bind-address=127.0.0.1

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# 2.include all files from the config directory
#
!includedir /etc/my.cnf.d

重启服务

systemctl restart mariadb

检查端口绑定情况

![image-20220329152729950](D:\广东省大学生计算机设计大赛\说明文档\FlawPlatform 漏洞靶场\image-20220329152729950-16488048778422.png)

2.4.3 设置 Mysql 密码

为了安全考虑,哪怕只开在回环口也需要设置登录密码。如果觉得不需要设置,可以跳过这一步

默认密码是空的,可以直接通过 mysql -u root -p 空密码登录即可

image-20220329152835883

这里通过直接更新数据表的方式修改密码

UPDATE user SET Password = PASSWORD('密码') WHERE user = 'root';

刷新

FLUSH PRIVILEGES;

2.4.4 创建数据库

为程序创建一个数据库,名字自定义。但后面配置 Django 时需要填对

flaw_platform

image-20220329160204619

2.4.5 配置编码

编辑 /etc/my.conf ,设置 编码。记得重启 mariadb 服务

[client]
# 2.设置编码
default-character-set=utf8

[mysql]
# 2.设置编码
default-character-set=utf8

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# 2.Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 2.Settings user and group are ignored when systemd is used.
# 2.If you need to run mysqld under a different user or group,
# 2.customize your systemd unit file for mariadb according to the
# 2.instructions in http://fedoraproject.org/wiki/Systemd

# 2.设置绑定地址
bind-address=127.0.0.1


# 2.设置编码
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server=utf8


[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# 2.include all files from the config directory
#
!includedir /etc/my.cnf.d

2.4.6 配置 Django 使用 Mysql 数据库

解压项目压缩文件后,cd 切换工作目录到项目文件夹中,与 manage.py 同级

image-20220329154324473

安装 mysqlclient

pip3 install mysqlclient

出现报错以下两种方法解决

# 2.更新pip
pip3 install --upgrade pip

# 2.安装 mysql-devel
yum install mysql-devel

编辑 common/settings.py 文件

vim common/settings.py

进行如下修改, 注意保存

# 2.Database
# 2.https://docs.djangoproject.com/en/4.0/ref/settings/#databases

DATABASES = {
    'default': {
        # 2.'ENGINE': 'django.db.backends.sqlite3',
        # 2.'NAME': BASE_DIR / 'db.sqlite3',

        'ENGINE': 'django.db.backends.mysql',   # 2.数据库引擎
        'NAME': '',                             # 2.数据库名,先前创建的
        'USER': 'root',                         # 2.用户名,可以自己创建用户
        'PASSWORD': 'xxxx',                     # 2.密码
        'HOST': '127.0.0.1',                    # 2.mysql服务所在的主机ip
        'PORT': '3306',                         # 2.mysql服务端口
    }
}

创建迁移记录

pyhton3 manage.py makemigrations

image-20220329160345458

迁移创建数据库

pyhton3 manage.py migrate

image-20220329160403589

2.5 配置 Docker

2.5.1 安装 docker

通过 yum 一键安装即可

yum -y install docker

2.5.2 配置 Remote API

编辑服务配置文件

vim /usr/lib/systemd/system/docker.service

再 ExecStart 值中添加多一行,注: 这里最好不要暴露在公网上,因为这里的 Remote API 没有身份校验。任何人都可以通过这个 Remote API 操作你的 Docker,进行操作。

-H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock

image-20220329104619088

重启 Docker 服务

systemctl daemon-reload
systemctl restart docker

检查端口是否开启,如果 netstat command not found 需要安装 net-tools : yum -y install net-tools

netstat -ano | grep 2375

image-20220329104535343

2.5.3 配置 Django Docker Remote API 信息

cd 切换工作目录到项目文件夹中,与 manage.py 同级

image-20220329154324473

编辑 common/settings.py 文件

vim common/settings.py

进行如下修改, 注意保存

DOCKER_API = {
    'URL': 'tcp://127.0.0.1:2375',
    
    # 2.外部映射地址, 只起到显示作用。同时是提供外部访问容器端口的地址
    'EXTERNAL_URL': '10.8.7.46',
    
    # 2.随机 Flag 设置的环境变量名称,建议默认
    'FLAG_ENVIRONMENT_NAME': 'RANDOM_FLAG',
    
    # 2.自动删除容器/靶机时间如: +1 为一小时后自动关闭
    'AUTO_REMOVE_CONTAINER': +1
}

2.7 配置邮件服务器

2.7.1 获取授权码

已 QQ 邮箱为例子,打开 QQ 邮箱 点击设置

image-20220211005244106

点击账户

![image-20220211005355961](D:\广东省大学生计算机设计大赛\说明文档\FlawPlatform 漏洞靶场\image-20220211005355962.png)

将服务全部开启

image-20220211005429208

点击生成授权码获取授权码

![image-20220211005502921](D:\广东省大学生计算机设计大赛\说明文档\FlawPlatform 漏洞靶场\image-20220211005502922.png)

2.7.2 配置文件

配置 common/settings.py

image-20220329201355598

2.8 部署后端

2.8.1 安装所需包

cd 切换工作目录到项目文件夹中,与 manage.py 同级

image-20220329154324473

使用 pip 安装 requirements.txt

pip3 install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

2.8.2 启动服务

cd 切换工作目录到项目文件夹中,与 manage.py 同级

image-20220329154324473

启动服务

# 2.python3 manage.py runserver IP:PORT
python3 manage.py runserver 10.8.7.46:8000

image-20220329161803886

2.8.3 管理后台

通过 createsuperuser 创建超级管理员用户,我这里设置的用户为:gdcp_flawplatform_admin,密码:gdcp123abc..

python3 manage.py createsuperuser

image-20220329162927817

即可通过创建的用户民密码登录后台:http://ip:port/admin/

image-20220329163126113

2.9 部署前端

2.9.1 打包程序

打开项目文件 src/common/http-service.js 根据后端部署的地址和端口进行设置

image-20220329161728154

在项目目录文件夹下 使用 npm run build 进行打包,注意与 package.json 同目录

image-20220329162043944

打包完成后回生成一个 dist 目录

image-20220329162118374

将生成的文件部署到 http 服务中即可

image-20220329162140036

2.9.2 安装 httpd 服务

这里使用 httpd 提供 http 服务,通过 yum 安装

yum -y install httpd

安装成功后,将打包的前端程序部署到 www 站点目录下

image-20220329162431652

这里最好重启一下服务

systemctl restart httpd

即可通过浏览器访问

image-20220329162624624

三、使用说明

3.1 后台使用说明

进入子页面后,可通过 breadcrumbs 跳转至父级页面(这里只是演示)

image-20220211222658291

3.1.1 管理员操作

(1) 管理员登录

在浏览器访问 http://127.0.0.1:8000/admin 进入后台登录界面,输入用户名密码,点击登录进入后台。这里使用的是超级管理员账户,如果没有账户请回到本文 2.2.5 创建管理员账户 一章进行创建

image-20220211023150087

登录成功

image-20220211023455408

(2) 修改管理员密码

登录成功点击右上角 修改密码

image-20220212000719787

根据提示要求,输入旧密码、新密码、新密码确认后点击右下角修改我的密码即可

image-20220212000750273

3.1.2 题目管理

(1) 增加题目

点击题目可以进入题目列表

image-20220211100325147

点击右上角增加 题目 + 进入添加界面

image-20220211100350494

可选择题目环境:镜像环境或附件环境,默认为镜像环境。镜像环境模式下可选择 Flag 形式:环境变量随机 FLAG或文件内容随机FLAG,默认为环境变量随机 FLAG

image-20220211100532192

(1.1) 镜像环境 - 环境变量随机 FLAG

这里以**j0hns0n/view_source:latest ID:81fb8003157e **为例

image-20220211101350810

填写完成 镜像ID 后程序会自动调用 Docker API 获取镜像信息:镜像标签与开放端口信息

image-20220211101603480

填写完相应信息后点击保存即可添加成功

image-20220211101735209

添加成功后会在列表中展示(当题目超过十条时,会自动分页,每页十条)

image-20220211101821976

(1.2) 镜像环境 - 文件内容随机 FLAG

这里以 j0hns0n/robots:latest ID: 31d68e72be64 为例

image-20220211101941172

1、选择本地文件随机FLAG形式,2、填写文件路径(程序会自动随机成FLAG,写入到填写的文件路径中),填写文件内容模板 {} 为FLAG 存放的位置

image-20220211102219888

填写完成题目信息后点击保存即可

image-20220211102711703

保存成功后会在列表中展示

image-20220211102733895

(1.3) 附件环境

选择题目环境为:附件环境、上传附件、设置附件FLAG:这里填写的 FLAG 不会影响附件内的FLAG,值用于校验。所以附件中应已有FLAG存在。

image-20220211103020677

填写基本信息后点击保存即可

image-20220211103142542

发布成功后会在列表中显示

image-20220211103757696

(2) 题目搜索

在题目列表中可根据:题目名称、来源、描述、镜像 ID 进行搜索,输入搜索内容点击搜索即可

image-20220211104116644

点击总共 [num] 可返回所有题目列表

image-20220211104309696

(3) 题目过滤器

题目列表右侧过滤器可以选择: 题目难度、题目环境、题目类型、题目状态、创建时间、最近更新时间 进行多选过滤

image-20220211133314359

点击 “清除所有过滤器” 来显示所有内容

image-20220211221523666

(4) 题目信息编辑修改

点击题目名称可进入编辑相应题目

image-20220211104403502

修改完成后点击保存即可

image-20220211104437840

(5) 删除题目

删除题目后,会自动清理题目附件,但不会影响 Docker 镜像。

(5.1) 列表多选删除

可以通过列表处的多选,使用 ”删除所选题目“ 的动作点击执行,删除选中的题目

image-20220211133508572

(5.2) 题目详细中删除

在列表处,点击题目名称进入题目详细

image-20220211133723883

在点击底部的按钮进行删除,进行删除

image-20220211133824052

(6) 修改题目状态 - 上/下架题目

题目状态为下架时,前台是不会显示下架题目的。只有当题目状态为上架才会显示在前台的页面中

(6.1) 通过列表处修改状态

可以通过列表处的题目状态选择上/下架,选择完成后点击保存即可

image-20220211134134358

前台效果

image-20220211134524780

(6.2) 通过题目详细中修改状态

点击题目名称进入题目详细

image-20220211134235164

在题目中的题目状态选择相应状态后点击保存即可

image-20220211134316377

前台效果

image-20220211134608932

重新上架后会显示在相应类型中

image-20220211134642764

前台效果:进入相应题目类型

image-20220211134725572

即可看到题目

image-20220211134742517

(7) 排序

可以在列表页点击表头进行排序

image-20220211224839728

首次点击,如下效果为正序

image-20220211224820707

再次点击为降序

image-20220211225913896

鼠标移到表头处,点击如下按钮可清除该列的排序

image-20220211225939737

可多列同时进行排序

image-20220211225956825

3.1.3 靶机(容器)管理

用户启动题目容器后会在后台显示

image-20220211213927702

(1) 增加靶机

点击右上角增加 靶机(容器)

image-20220211214015881

选择题目(可以根据题目名称进行搜索)

image-20220211214111395

选择好后点击保存

image-20220211214151514

添加成功后,可以看到开放端口的信息 (当题目超过十条时,会自动分页,每页十条)

image-20220211214210706

可以通过浏览器访问

image-20220211214751811

(2) 靶机(容器)搜索

在题目列表中可根据:题目名称、用户名称、容器ID、镜像 ID 进行搜索,输入搜索内容点击搜索即可(这里我为了演示效果所有加多了一条数据)

image-20220211221250076

点击 **总共 [num] ** 可返回所有靶机(容器)列表

image-20220211221348507

(3) 靶机(容器) 过滤器

题目列表右侧过滤器可以选择: 创建时间、最近更新时间 进行多选过滤

image-20220211221424546

点击 “清除所有过滤器” 来显示所有内容

image-20220211222208451

(4) 靶机(容器) 信息编辑修改(无法编辑修改)

这里设计是一旦开启(环境)容器就无法镜像修改任何内容

image-20220211214846762

点击容器 ID 只能查看题目详细信息

image-20220211214959956

(5) 删除靶机(容器)

(5.1) 列表多选删除

可以通过列表处的多选,使用 ”删除所选靶机(容器)“ 的动作点击执行,删除选中的靶机(容器)

image-20220211220057926

(5.2) 容器详细中删除

在列表处,点击容器 ID 进入靶机(容器)详细

image-20220211220630409

点击底部的按钮进行删除,进行删除

image-20220211220601107

(6) 排序

可以在列表页点击表头进行排序

image-20220211223724244

首次点击,如下效果为正序

image-20220211223759660

再次点击为降序

image-20220211224019525

鼠标移到表头处,点击如下按钮可清除该列的排序

image-20220211224117371

可多列同时进行排序

image-20220211224216723

3.1.4 答题记录管理

用户在成功答题后,会答题记录中添加一条记录,在后台只有查看的权限。无法进行:增、删、改操作,

image-20220211231024699

3.1.5 用户管理

(1) 增加用户

在首页点击用户进入用户列表页面

image-20220211232003562

进入用户列表后,点击右上角 增加用户

image-20220211231803163

按照提示要求,完成填写用户名密码,点击保存即可

image-20220211232148065

保存成功后会进入该用户的详细编辑界面

image-20220211232650426

(2) 用户信息编辑修改

这里只提一些较为难理解的权限方面的帮助

(1.1) 基本状态

如下有三种状态:有效、工作人员、超级用户状态。其中在有效被选中时用户才可进行登录,当工作人员被勾选时可以登录后台,但不给予具体的权限只是能登录后台而已,无法进行任何操作。当勾选超级用户状态,无需给予具体权限可登录和操作后台所有功能(除开发者直接限制之外)。

image-20220211233118429

(1.2) 权限分配

前面说到可以分配具体权限,有两种形式:将用户添加到特定用户组中或者直接给予用户权限, 用户组后面说

image-20220211233652500

对一个模块权限分为:Can add 添加、Can change 修改、Can delete 删除、Can view 查看。

image-20220211235307553

选择相应权限,点击中间的右箭头添加权限

image-20220211235457742

添加后效果

image-20220211235600576

为了方便演示,勾选上工作人员状态

image-20220211235620812

点击保存

image-20220211235649660

保存成功后可以看到工作人员状态已开启

image-20220212000001210

点击右上角注销,退出当前账户

image-20220211235716505

点击重新登录

image-20220211235740066

使用刚刚添加的用户进行登录

image-20220211235755505

登录到后台,可以看到当前用户只能对题目进行管理

image-20220212000029561

选择 ”选中的 用户权限“ 里的权限,点击左箭头可以删除分配的权限

image-20220212001439319

登录后可以看到没有任何的权限

image-20220212001622105

(3) 用户密码修改

进入用户详细界面,点击 “这个表单” 进行密码修改

image-20220212002252179

根据提示要求,填写新密码,与确认密码点击右下角修改密码即可,此处为强制修改,无需输入旧密码。

image-20220212002511242

(4) 用户搜索

在题目列表中可根据:用户名、姓氏、名字、邮箱进行搜索查询

image-20220212003258271

点击 **总共 [num] ** 可返回所有用户列表

image-20220212003326032

(5) 用户过滤器

用户列表右侧过滤器可以选择: 工作人员状态、超级用户状态、是否有效、用户组 进行多选过滤

image-20220212003411140

点击 “清除所有过滤器” 来显示所有内容

image-20220212003513227

(6) 用户删除

(6.1) 列表多选删除

可以通过列表处的多选,使用 ”删除所选 用户“ 的动作点击执行,删除选中的用户

image-20220212003831587

(6.2) 用户详细中删除

在列表处,点击用户名进入用户详细页面

image-20220212004104354

点击底部的按钮进行删除,进行删除

image-20220212004122216

3.1.6 用户组管理

点击认证和授权中的 组 进入用户组列表

image-20220212000149227

(1) 增加用户组

进入用户组列表后点击右上角 增加 组

image-20220212000447290

输入用户组名称后,选择需要给予的权限,点击右箭头进行添加

image-20220212001106363

选择好后, 点击保存即可

image-20220212001156723

保存成功后会在列表中显示 (当题目超过十条时,会自动分页,每页十条)

image-20220212001238028

(2) 给用户分配用户组

进入用户详细,当前是刚刚演示中添加的用户 user001, 选择相应用户组,点击右箭头进行添加

image-20220212001727310

重新登录后可以看到效果与直接分配权限是一样的

image-20220212001831585

3.1.7 Captcha stores 验证码存储

用于存储生成的验证码,让其在后台显示的初衷是防止验证码垃圾数据过多,可以定时在后台清理记录。

3.1.8 邮箱认证 Token

用于存储生成的有效认证 Token,让其在后台显示的初衷是防止验证码垃圾数据过多,可以定时在后台清理记录。

3.2 前台使用说明

3.2.1 注册

打开站点后, 若没有登录,会自动跳转到登录页面。在登录页面点击 “点击注册” 跳转到注册页面

image-20220212113330621

输入邮箱,验证码点击立即注册,成功后会提示邮件已经发送指邮箱

image-20220212113412996

打开邮件后,可以看到提示点击连接完成注册,该链接 30 分钟内有效,超过 30 分钟后就需要重新获取。若收件箱中没有邮件,请检查邮箱地址是否正确,并查看垃圾邮件,检查邮件是否被拦截

image-20220212113944487

点击连接后会跳转到完成注册页面

image-20220212114019132

根据提示完成输入:用户名密码及确认密码,验证码点击提交即可

image-20220212114102764

注册完成后会自动跳转到登录页面

image-20220212114138388

3.2.2 登录

在登录页面根据提示输入用户名密码,验证码点击登录即可

image-20220212114341164

登录成功后会自动跳转到主页

image-20220212114412972

鼠标放在右上角的 “用户名和头像” 上,会显示 “个人中心” 及 “退出” 按钮,点击 “退出” 。会退出当前登录并跳转到登录页面

image-20220212114532907

3.2.3 忘记密码

在登录页面点击 “忘记密码?” 进入找回密码页面

image-20220212114647584

根据提示输入注册时的邮箱,验证码点击 “发送重置密码邮箱” 即可

image-20220212114837286

根据提示,在 30 分钟内点击右键中连接进行密码重置。若 30 分钟内为进行密码重置,该链接会失效,需要重新获取。若收件箱中没有邮件,请检查邮箱地址是否正确,并查看垃圾邮件,检查邮件是否被拦截

 

跳转到重置密码页面后,根据提示输入密码、确认密码及验证码点击提交即可

image-20220212115504891

重置成功后会跳转到登录页面

image-20220212115529675

3.2.4 更换头像

鼠标放在右上角的 “用户名和头像” 上,会显示 “个人中心” 及 “退出” 按钮,点击 “个人中心” 。会跳转到当前用户的个人中心页面

image-20220212115839056

在个人中心页面可以看到自己的答题记录,邮件地址、当前积分等信息

image-20220212120019747

鼠标移动到头像上回提示 “更换头像” ,点击更换头像,会弹出文件选择窗口, 图片只允许 JPG 格式图片,大小最大在 400 × 400 像素。

image-20220212120106244

选择好后,即可替换成功。

image-20220212120205284

3.2.5 镜像环境答题

点击相应分类,注:并不是只有 Web 分类能设置镜像环境题目,而是我只在 Web 分类中添加了镜像环境

image-20220212140509177

进入题目后可以看到相题目,当当前分类及难度题目数量大于10题,会自动分页每页 10 题。

image-20220212140602874

可以通过难度一栏切换当前分类的难度级别

image-20220212141038697

点击 “入门” 切换至 入门难度,当前无入门难度的题目。

image-20220212141652065

点击题目可进入题目详细页面

image-20220212141741896

点击启动在线场景

image-20220212141821109

启动成功后会显示当前环境的连接,和倒计时,倒计时结束后,程序会自动销毁当前环境。

image-20220212141840181

访问提供的环境连接即可进行答题

image-20220212141928863

找到题目中的 Flag 后,将 Flag 输入到输入框中,点击提交即可

image-20220212142006648

提交成功后,会自动加分。

image-20220212142038344

当不需要环境时,可以点击 “删除场景” -> “确认” 进行删除

image-20220212142100439

答题完成后,在题目列表中,相应题目会变成金色

image-20220212173833206

可以在个人中心看到答题记录,及当前分数

image-20220212142151332

一个用户无法同时启动多个环境,当已经存在启动环境时,会提示:已启动 xxx 题目的环境,是否将其关闭并启动当前容器?

image-20220212142216601

当点击确认后,会关闭正在允许的环境,启动当前题目环境

image-20220212142336312

3.2.6 附件环境答题

进入到附件题目,点击附件,可以下载附件

image-20220212173613711

找到 flag 后,输入 Flag 点击提交即可

image-20220212173642966

提交成功

image-20220212173709959

答题完成后,在题目列表中,相应题目会变成金色

image-20220212173929023

3.2.7 排行榜

在排行榜中会显示,Top 10 的用户,只有积分大于 0 的情况下才会上榜。

下载地址:https://github.com/S2eTo/FlawPlatform

 

Link to post
Link to comment
Share on other sites

 Share

discussion group

discussion group

    You don't have permission to chat.
    • Recently Browsing   0 members

      • No registered users viewing this page.
    ×
    ×
    • Create New...