seo外链网站源码,php网站怎么注入,sem是什么意思呢,江西做网站找谁接上文#xff0c;这篇主要是结合阿里云ACR来实现动态flag题型的创建。
这里顺便也介绍一下阿里云的ACR服务。 阿里云容器镜像服务#xff08;简称 ACR#xff09;是面向容器镜像、Helm Chart 等符合 OCI 标准的云原生制品安全托管及高效分发平台。 ACR 支持全球同步加速、…接上文这篇主要是结合阿里云ACR来实现动态flag题型的创建。
这里顺便也介绍一下阿里云的ACR服务。 阿里云容器镜像服务简称 ACR是面向容器镜像、Helm Chart 等符合 OCI 标准的云原生制品安全托管及高效分发平台。 ACR 支持全球同步加速、大规模/大镜像分发加速、多代码源构建加速等全链路提效与容器服务 ACK 无缝集成帮助企业降低交付复杂度打造云原生应用一站式解决方案。
说白了就是对标dockerhub的但是dockerhub很难访问需要科学上网所以这里我们就使用阿里云提供的ACR镜像服务来完成动态flag题型的创建了。
回到虚拟机内进入到【GZCTF】下面。 新建一个文件夹命名为【WEB】。 同时WEB下再新建一个文件夹命名为【src】。 在src中新建flag.sh和index.php。 web题首先是需要按照常规逻辑写一个网页这里就写一个带flag的简单网页把flag放在源代码里并注释掉。代码如下保存为index.php。
在当前路径下打开命令行界面执行如下命令
vi index.php
并复制如下内容到php文件中
!DOCTYPE html
html
headtitle签到/title
/head
!--flag{testflag}--
body
?php
echo welcome ;
?
/body
/html 这里值得注意的是ubuntu的输入按住方向键时会变成大写字母需要提前进行修改,具体修改方式如下
首先进入该目录。
cd /etc/vim
如果你有root权限直接进入文件编辑即可如果没有root权限在下面的代码前面加一个sudo就可以编辑了。
vi vimrc.tiny回车后先把光标调到set和compatible中间为了避免插入时使用方向键让光标覆盖c的位置像这样。 然后按下键盘i键进入插入模式之后输入no完成后是这个样子的 set nocompatible完成后按esc键然后输入:wq退出编辑并保存。
:wq这样按住上下左右键就是正常的了。 创建完index.php,接下来创建flag.sh。
vi flag.sh
同样复制如下内容到sh文件中
#!/bin/sh sed -i s/flag{testflag}/$GZCTF_FLAG/ /home/XXX/GZCTF/WEB/src/index.php #使用平台的动态flag替换index.php中的flag这里我使用的平台为GZCTF因此动态flag环境变量为$GZCTF_FLAG其他平台一般
为$FLAGexport GZCTF_FLAG #命令用于设置或声明环境变量使得该变量能在子进程中可见
此处注意要按照自己创建的实际路径来填写。
当创建完src文件下的内容后回到上级目录编写Dockerfile文件。 vi DockerfileFROM ctftraining/base_image_nginx_mysql_php_56 #web题docker基础镜像这里使用ctftraing打包好
的包含了基础的nginxmysqlphp环境并且会自动运行flag.sh脚本本题使用php环境。COPY src /home/XXX/GZCTF/WEB/src/ #将你编写的网页源码复制到docker容器中这里为php网页因此只需要
复制源码到对应路径下就可以了其他类型网页按照实际部署情况COPY到docker中相应目录下就可以了RUN mv /home/XXX/GZCTF/WEB/src/flag.sh / \ #把你源码中的flag.sh复制到根目录以便自动执行 chmod x /flag.sh #添加运行权限
编译时记得删除注释内容。
到这里文件就准备完毕了下面我们进入到阿里云的ACR界面。
点击免费试用。 创建个人实例。 设置完密码创建完成后进入访问凭证复制登陆实例的语句。 登陆成功。 这里需要先安装好docker和docker-compose具体安装过程可以见我之前的文章。
接下来使用build命令构建题目镜像需要回到ACR中创建一个命名空间建议设置为私有名字是全局唯一性 接下来执行构建命令name为阿里云命名空间名字webtest为镜像名(自定义).为版本号代表latest也可以自定义。
sudo docker build -t name/webtest . 执行命令查看镜像构建情况
sudo docker images 给它打上tag表明版本
sudo docker tag IMAGEID 镜像在阿里云里的地址:1.0.0 再push到我的阿里云镜像仓库name为命名空间名webtest为镜像名
sudo docker push 镜像在阿里云里的地址:1.0.0 这时可以回到阿里云的ACR界面下进入镜像仓库查看。 可以看到已经成功了。 接下来部署题目类型记得选择动态容器。 在这个位置填入阿里云地址下的路径地址 点击后面的创建测试容器这里会创建一个入口点击查看网页。 可以看到实例创建成功 查看源码可以看到就是我们之前编辑的index.php文件。 我们更换账号去尝试答题。 点击创建实例。 可以看到生成的是新的flag。 再更换个账号可以看到flag有所变化。 至此基于阿里云ACR实现动态flag题型的创建完成。