Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/antlers12/CTFd_sqlilabs
https://github.com/antlers12/CTFd_sqlilabs
Last synced: 21 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/antlers12/CTFd_sqlilabs
- Owner: antlers12
- Created: 2021-12-07T08:18:44.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-02-28T08:22:46.000Z (almost 3 years ago)
- Last Synced: 2024-08-05T17:43:27.391Z (4 months ago)
- Language: PHP
- Size: 2.92 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-hacking-lists - antlers12/CTFd_sqlilabs - (PHP)
README
# 适用于CTFd的sqlilabs动态Flag镜像生成
本项目以sqlilabs的Less-5题为例,容器内其他题目无法使用,你可以通过修改Dockerfile文件自行修改为其他题目。
## 特点
支持CTFd动态Flag,其中Flag被放置在security库下以`flag`开头的随机表名的表中。
## 使用方法
### 1.自由部署
git项目到本地
```
sudo git clone https://github.com/antlers12/CTFd_sqlilabs.git
```下载后可以自由更改对应的配置,可以修改`Dockerfile`、`docker-compose.yml`、`start.sh`、`flag.sql`文件,如果需要更改Mysql密码,还需要到src源码下的sql-connections/db-creds.inc中修改
其中的`Antlers12`字符是用来替换动态Flag的,如果要进行修改,需要手动将全部的字符替换。
手动配置完成后,就可以生成docker镜像并启动,默认外部8023端口映射容器80端口
```
sudo docker-compose up -d
```查看docker生成的镜像
```
sudo docker images
```### 2.直接部署
如果嫌麻烦的话,可以直接用我在dockerhub已经打包好的镜像进行题目构建,只需要编写`Dockerfile`和`docker-compose.yml`就好了
**Dockerfile**
```Dockerfile
FROM antlers12/base_ctfd_sqlibsENV LANG C.UTF-8
# 选择构建第几题的镜像,这里举例第3题
RUN mv /var/www/html/Less-3 /var/www/html/LessTemp
RUN rm -rf /var/www/html/Less-*
RUN mv /var/www/html/LessTemp /var/www/html/Less-3
RUN sed -i '27 a window.location.href="./Less-3";' /var/www/html/index.htmlEXPOSE 80 3306
```直接生成题目镜像
```
docker build . -t sqlilabs_03
```**docker-compose.yml**
```
version: '2'
services:
web:
# 设置生成的镜像名
image: ctfd_sqlibs-3
build: .
# 设置环境变量,用于生成动态flag
environment:
- FLAG=Antlers12
# 设置映射端口
ports:
- "8089:80"
# 设置容器总是重新启动
restart: always
```当前文件夹下输入以下命令启动
```
sudo docker-compose up -d
```查看docker生成的镜像
```
sudo docker images
```