创建web题目


1.非web题放置

1.放置题目

登陆创建的管理员账号后,然后点击右上角 Admin panel -> Challenges ,然后点击challenges旁边的+号

image-20201026214337538

然后点击create

image-20201026214833073

然后题目创建成功

image-20201026215251902

但是这种方式大多数类型题目,web题无法通过此方式创建

2.使用github上web

#安装最新版本的docker 
curl -s https://get.docker.com/ | sh

# 运行docker服务
service docker start

# 安装docker compose
pip install docker-compose

3.CTF赛题环境

github上有许多CTF题库的开源仓库,但有些整理的未必好,为了遵守容易部署的原则,我选择了CTFTraining https://github.com/CTFTraining/CTFTraining

1.下载CTFTraining中的题库,这里要注意CTFTraining整个项目较大,题目建议一个个下,有选择性的拉取,下面以拉取第一个题目为例

mkdir CTFTraining
cd CTFTraining
git clone https://github.com/CTFTraining/0ctf_2016_unserialize.git

2.修改docker-compose.yml文件,其配置文件的结构其他题目也基本是下面这个结构:

# 0ctf 2016 piapiapia
version: "2"
services:
  web:
    build: .
    image: ctftraining/0ctf_2016_unserialize
    environment:
      - FLAG=flag{test_flag}
    restart: always
    ports:
      - "150.158.166.214:8090:80"

此处需要修改两个地方:一个是flag的值,写一个自己喜欢的字符串即可,另一个地方是下面的地址和端口号,地址改为0.0.0.0 端口号选一个未被占用的即可。例如:服务器公网IP:8090:80

3.启动改题目

cd 0ctf_2016_unserialize
docker-compose up -d

4.访问和配置CTFd的Challenge 访问http://150.158.166.214:8090 (此处改成自己的ip和端口号并且安全组需开放此端口),成功能显示页面即可。 进入刚刚搭建好的CTFd中Admin->Challenges,添加一个新的挑战,类型选standard, 填写好题目名字、内容和分值等。

5.配置flag 进入到刚刚创建的挑战中,在左侧填上刚刚配置好的flags

3.自己设计web题目放置CTFd上

1.使用静态靶场放置web题

把web题放置另一服务器上,放置链接然后访问(这种方式放置题目简单,但是消耗资源。)

2.使用动态靶场放置web题

使用赵师傅的插件来完成目标,参考赵师傅博客

https://www.zhaoj.in/read-6333.html#_Direct_Frp


文章作者: axing
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 axing !
评论
  目录