Skip to content

Commit

Permalink
feat(web/php-class): 添加题目信息、构建文件和工作流文件 (#14)
Browse files Browse the repository at this point in the history
* feat(web/php-class): 添加题目信息和构建文件

* ci(web/php-class): 添加工作流文件
  • Loading branch information
13m0n4de authored Sep 5, 2024
1 parent 93fd288 commit feab769
Show file tree
Hide file tree
Showing 5 changed files with 106 additions and 0 deletions.
50 changes: 50 additions & 0 deletions .github/workflows/web.php_class.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Challenge PHP Class

on:
push:
branches: ["main"]
paths:
- "!**/README.md"
- "challenges/web/php_class/build/**"
workflow_dispatch:

env:
TYPE: web
NAME: php_class
REGISTRY: ghcr.io

jobs:
challenge-build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ github.repository }}/${{ env.NAME }}
tags: |
latest
- name: Build and push Docker image
uses: docker/build-push-action@v4
with:
context: challenges/${{ env.TYPE }}/${{ env.NAME }}/build
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
push: true
16 changes: 16 additions & 0 deletions challenges/web/php_class/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# PHP Class

- 作者:-
- 参考:-
- 难度:-
- 分类:Web
- 镜像:-
- 端口:-

## 题目描述

<description>

## 题目解析

<analysis>
3 changes: 3 additions & 0 deletions challenges/web/php_class/build/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FROM ghcr.io/svuctf/base-v2/php-nginx:8.3

COPY --chown=www-data /html /var/www/html
3 changes: 3 additions & 0 deletions challenges/web/php_class/build/html/flag.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<?php

$flag = file_get_contents("/flag");
34 changes: 34 additions & 0 deletions challenges/web/php_class/build/html/index.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

highlight_file(__FILE__);

class SVUCTF
{
public $username;
public $password;
private $vip = false;

public function __construct($username, $password)
{
if ($username === "admin" && $password === "HELLOWORLD") {
$this->vip = true;
}
$this->username = $username;
$this->password = $password;
}

public function getFlag()
{
if ($this->vip) {
include 'flag.php';
echo $flag;
} else {
echo "Welcome to the SVUCTF, " . $this->username;
}
}
}

if (isset($_GET["svu_u"]) && isset($_GET["svu_p"])) {
$svuctf = new SVUCTF($_GET["svu_u"], $_GET["svu_p"]);
$svuctf->getFlag();
}

0 comments on commit feab769

Please sign in to comment.