工业设计参考网站国外做滑板网站
- 作者: 五速梦信息网
- 时间: 2026年03月21日 11:11
当前位置: 首页 > news >正文
工业设计参考网站,国外做滑板网站,网站建设优化解析,网站维护多少钱♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ 写在前面 ╔═══════════════════════════════════════════════════…♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ 写在前面 ╔══════════════════════════════════════════════════════════════════════════╗ 哈喽大家好我是Myon趁着我的云服务器还没过期这次给大家出一期很详细的CTF比赛的靶场搭建以及关于Web赛题的制作与docker环境的部署教程由于本人能力有限也只能给大家讲一些基础简单的东西欢迎大家在评论区互相交流学习希望通过这篇博客大家能学到一些新东西也期待大家的关注和支持 ╚══════════════════════════════════════════════════════════════════════════╝ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ 因为这种CTF的靶场我之前搭过如果你们看过我之前写的博客就知道之前介绍的是单纯基于CTFd搭建而这次是基于H1ve这个外观看着更好。我们学校上次的CTF比赛就是我负责搭建和运维的以及Pwn和Web赛题的环境部署后面我会一并介绍。 先给大家看一下成品效果图 首页 排行 challenges 公告 写这篇博客主要是对之前一些内容的补充和总结吧如果在阅读过程中有不懂的也欢迎大家参考我前面的文章在《网站搭建》专栏里再次感谢大家的支持和关注 文章开始前给大家分享一个学习人工智能的网站通俗易懂风趣幽默 人工智能https://www.captainbed.cn/myon/
使用服务器centos8 OK正文开始 ◉ ‿ ◉
目录 Part1、CTF靶场搭建
1、从github上克隆H1ve
2、安装 docker
3、安装 python-pip
4、安装 docker-compose
5、拉取镜像并启动 Single Mode
6、将H1ve整个目录下的所有容器设置为自启动 Part2、Web赛题制作与终端docker环境部署
1、题目文件的制作
1files文件夹
2Dockerfile
3docker-compose.yml
2、docker环境部署
3、赛题前端部署
4、终端赛题运维 Part1、CTF靶场搭建
如果是新的服务器是没有git命令的我们先安装
yum install git
1、从github上克隆H1ve
位置大家随便放就行了我这里是在root目录下创了一个Myon的文件夹然后克隆到里面
git clone https://github.com/D0g3-Lab/H1ve.git 克隆好之后我们还需要先安装一些东西
设置yum源
yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
2、安装 docker
yum install -y docker-ce看到complete代表安装完成 我们查看一下docker的版本并设置开机自启动
docker versionsystemctl start dockersystemctl enable docker 接着我们安装 docker-compose
这个docker-compose命令在后面拉取镜像以及赛题的环境时会经常用到
3、安装 python-pip
✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧
注意这里默认安装的pip会导致一个错误先不要执行下面命令先看后面的报错解释
默认安装的是Python2.7的版本而这里我们需要Python3版本的pip
✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧
yum -y install epel-releaseyum -y install python-pip 看到complete则代表安装成功我们也可以使用命令检查一下
pip -V 但是当我们尝试安装 docker-compose 时就会遇到报错
pip install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple
大概意思就是我们的pip版本太老了找不到合适的 docker-compose 版本满足 尝试升级pip版本
pip install –upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install –upgrade pip
但是大概率你们会遇到以下的报错
Could not find a version that satisfies the requirement docker-compose (from versions: ) No matching distribution found for docker-compose
You are using pip version 8.1.2, however version 23.3.1 is available. You should consider upgrading via the pip install –upgrade pip command. 解决方法安装python3的pip
由上面pip -v我们知道默认安装的是Python2.7的版本
因此这里我们安装Python3的pip并且进行升级
yum install python3-pippip3 install –upgrade pip
可以看到 pip 成功升级到21.3.1 之后的pip操作都用pip3代替
4、安装 docker-compose
pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple 可以看到安装成功至于那个warning不用管它 接下来我们进入到之前克隆好的H1ve目录下
修改配置文件
这一步最好先不要操作因为我不确定后面的报错是否与这步有关建议先尝试直接进行后面的镜像拉取操作如果有问题可以尝试删掉H1ve再次克隆
sed -i s/mariadb:10.4/mariadb:10.4.12/g single.ymlsed -i s/mariadb:10.4/mariadb:10.4.12/g single-nginx.yml 5、拉取镜像并启动 Single Mode
docker-compose -f single.yml up
遇到如下的报错
ERROR: manifest for mariadb:10.4.12.12.12.12 not found: manifest unknown: manifest unknown 这种情况意思是docker需要我们指定下载镜像的版本号
但是我并没有找到解决办法因此我替换了它的single.yml文件
然后就可以拉取了我怀疑是前面修改配置文件导致的 之后访问 8000 端口 填写好基本信息后即可加载出下图所示页面 于是我删掉了H1ve重新克隆进行测试
确定是否因为修改配置文件导致single.yml出了问题
克隆好之后什么都不要做进入目录直接拉取居然成了 接着尝试拉取Single-Nginx Mode
docker-compose -f single-nginx.yml up 这里可以拉取成功但是无法访问 修改配置文件进行验证发现也可以拉取成功
就很奇怪了当然不排除是我拉取之前的版本时对我刚从github上克隆下来的版本环境这些有影响 总的来说给大家的建议就是克隆好之后先直接尝试拉取镜像后面测试不需要设置配置文件也是可以拉取成功的具体还是要看你自己服务器的环境配置操作错误也可以尝试删除H1ve之后重新克隆。
顺便说一下你们还需要确保用到的端口那些是允许的在服务器的安全组规则里面设置。 当然如果你希望直接访问ip就到靶场那么这里可能需要设置代理转发将80端口转发到8000。
在我之前讲的完全基于CTFd搭建的那个里是不需要的直接访问ip即是靶场首页
具体内容可以参考我之前的博客《基于云服务器的博客和靶场搭建-经验教训》
我们需要将与H1ve有关的容器都开启并设置为自启动
查看容器
docker ps -a启动容器
docker start 容器名 6、将H1ve整个目录下的所有容器设置为自启动
docker update –restartalways $(docker ps -aq)查看开启的容器
docker ps 现在我们不用再拉取镜像直接访问靶场地址端口号即可靶场将一直处于开启状态 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
接下来进入第二部分 ◉ ‿ ◉
Part2、Web赛题制作与终端docker环境部署
为了方便测试我这里将服务器的所有端口都开放了你们可以根据题目所在的端口自行添加 1、题目文件的制作
每个网页它至少应该包含一个index.php或者index.html首页文件
我们先做一个最简单的web题比如将flag藏在一个网页的源码里
该文件命名为index.php内容如下图 内容可能看着复杂其实它就是一个页面而已。
1files文件夹
这样我们的题目文件就有了新建一个文件夹files将这个文件index.php放到files目录下
为什么文件夹叫files因为后面我会给你们两个模版文件按照我说的来就行
当然如果你会自己写Dockerfile和docker-compose.yml那么你可以自己想怎么来就怎么来。
我让ChatGPT写过是可行的但是这里我主要是讲基础的套路方法所以给你们模版按照我说的来你就可以部署简单的web赛题。
除了files我们还需要另外两个文件
2Dockerfile
这个文件你可以直接用不用修改
内容如下
FROM php:5.6-fpm-alpineRUN rm -rf ar/wwwml/*COPY ./files ar/wwwmlEXPOSE 80WORKDIR ar/wwwml
CMD [php, -S, 0.0.0.0:80]3docker-compose.yml
这个文件需要将端口修改为你自己题目部署在的端口
内容如下
version: 2services:web:build: .restart: alwaysports:- 0.0.0.0:8001:80environment:- FLAGMyon{s0_eaSyest_wEb_fl2}关于第二个文件内容解释
0.0.0.0:8001:80 # 题目部署在8001端口选手访问8001端口即可访问到题目环境
80是ngnix所在端口具体取决于自己环境一般都是在80当然我之前部署Pwn赛题时遇到过其他问题需要修改配置文件的具体你们可以参考我之前的博客
《基于CTFTraining在CTFd部署Web题目》 和
《基于xinetd部署pwn题百分百搭成并且可以nc靶场地址》
FLAGMyon{s0_eaSyest_wEb_fl2} # 这个其实后面我发现它似乎没什么影响因为正确的flag是你自己放在文件里的除非题目是那种与环境变量有关系的可能会影响因此保险起见你可以把这里的FLAG值改为自己题目的flag值只是为了进一步确保一致。
其他内容保持不变。
将上述文件files、Dockerfile、docker-compose.yml 统一放进一个新的文件夹
为了方便记忆和运维我喜欢以题目名字来命名比如就叫 f12 查看源码的题 这样我们web赛题的文件就都准备好了将f12这个文件夹放入终端
我这里先建了一个testctf的文件夹里面用来存放CTF赛题
新建文件夹的命令
mkdir 文件夹名 传文件的话我比较喜欢用xftp直接拉动或者粘贴复制 2、docker环境部署
进入f12这个目录使用命令拉取镜像
docker-compose up -d拉取成功后使用命令查看该容器
docker ps 访问该题目所在端口这里是8001 使用F12在网页源码里找到flag 3、赛题前端部署
那么关于赛题如何放上去添加到我们靶场的前端设置flag分数这些在我博客《基于CTFTraining在CTFd部署Web题目》里面已经详细讲过这里就不再赘述。
http://t.csdnimg.cn/TRiOo
链接应该会过期你们直接搜索我博客的名字即可找到或者在《网站搭建》的专栏里面
此外我这里还有一些其他类型的Web题的源码小游戏、基本传参、php反序列化、命令执行、文件上传、php绕过、信息泄露这些题搭建起来还是很容易的欢迎大家找我交流讨论。
sql注入的话就需要结合数据库了有些题的源码也可以让ChatGPT帮写。 4、终端赛题运维
如果我们部署docker环境时遇到问题比如无法访问或者有些文件信息没有修改但是又已经拉取了题目的镜像环境那么我们就需要先删除这个容器然后重新拉取
查看题目容器名字
docker ps
使用命令删除有问题的容器
docker rm -f 容器名 此时题目页面已经无法访问 但是重点来了我们还能直接使用docker-compose up -d去拉取吗
这样操作是不行的拉取之后你会得到一个与你删除前一样的容器尽管你已经修改了文件内容
这个问题还是可以看我之前的博客《基于xinetd部署pwn题百分百搭成并且可以nc靶场地址》
http://t.csdnimg.cn/3QPno
因为docker搭建的是一个容器你可以理解为一个独立的环境里面的文件所在路径这些是不一样的。为什么我们敢把漏洞直接部署在自己的服务器上正因为docker的安全性还是很强的当然也可能存在docker容器逃逸到本地但是一般用docker搭建的东西还是很安全的就算容器里的东西被打烂了也不会影响到你服务器本地的东西它是一个单独的环境。
要想真正替换掉题目环境正确的操作有两种
方法一重命名题目文件夹比如f12改为F12使用mv命令
当然你需要确保你重命名的名字是未被拉取过镜像的名字即一个全新的名字
mv f12 F12
这个时候我们进入到F12进行镜像拉取也是使用
docker-compose up -d
方法二删除所有未使用的网络未使用的网络是不被任何容器引用的网络。
docker network prune 因为这个网络原本的容器已经被我们删除了但是它的网络还存咋但是未被容器引用所以需要先清除掉之后再进行镜像拉取才会拉取到你修改后的文件内容。
建议使用方法二不过也可以用重命名的方法等未使用的网络堆积一段时间后再统一进行清除。 ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥
文章至此结束 希望你们看完有所收获 期待大家的关注与支持 ◉ ‿ ◉ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥ ♡ ♥
相关文章
-
工业和信息化部网站备案系统怎么登录梦幻建站网
工业和信息化部网站备案系统怎么登录梦幻建站网
- 技术栈
- 2026年03月21日
-
工业和信息化部网站备案查询怎么做情侣网站
工业和信息化部网站备案查询怎么做情侣网站
- 技术栈
- 2026年03月21日
-
工信部网站备案要求注册公司后不营业有什么后果
工信部网站备案要求注册公司后不营业有什么后果
- 技术栈
- 2026年03月21日
-
工业设计网站排行榜前十名有哪些天津百度关键词推广公司
工业设计网站排行榜前十名有哪些天津百度关键词推广公司
- 技术栈
- 2026年03月21日
-
工业设计在线网站wordpress 获取文章标题
工业设计在线网站wordpress 获取文章标题
- 技术栈
- 2026年03月21日
-
工业网站开发商建湖网站设计
工业网站开发商建湖网站设计
- 技术栈
- 2026年03月21日






