13. darkhole_1 靶机
先验证逻辑错误,再验证输入错误,所以就走逻辑。
Web
注册处发现可以跑用户名,用户明存在与否响应不同。若存在,则提示已经存在,若不存在,则提示注册成功。
![image-20220113173314280](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174127608-1130131082.png)
基于此,使用 burp intruder 尝试遍历用户名。
![image-20211225165937310](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174128095-1995461481.png)
最终跑出来以下用户名
![image-20211225220645870](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174128641-164680782.png)
注册一个用户,进行登录,登录到后台,发现修改密码处,有 id 值。
![image-20211225165651843](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174129214-537285329.png)
对 id 进行遍历,发现无法越权访问,便尝试修改密码处,越权修改密码。
![image-20211225165727431](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174129831-442489188.png)
修改 id 为 1 用户的密码,猜测用户名为 admin。成功猜中,,没猜中也可以再次遍历即可。以 admin 用户登陆后,发现上传文件处。
![image-20211225165627415](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174130520-1876466661.png)
经测试,发现通过 phtml 即可绕过上传。后续看了看 upload.php 发现只是过滤了两个关键字。
![image-20211225172713881](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174131118-1467615411.png)
成功拿到 webshell
![image-20211225172738459](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174131741-553901333.png)
提权
获取到 webshell 后进行反弹。
进行漫步,发现 john 用户目录下存在 suid 权限的文件,并且有运行权限。
![image-20211225214005674](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174132385-1945207765.png)
尝试运行,发现输出 id 命令结果。
![image-20211225214107932](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174133430-120980134.png)
利用环境变量劫持 id 命令。
![image-20211225214135679](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174133964-869152843.png)
成功化身为 john
![](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174134594-1689249685.png)
john 目录下的 password 提醒了密码。
![image-20211225214240261](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174135094-1689620076.png)
利用密码查看 sudo -l 内容,发现运行 sudo 运行 file.py 脚本。
![image-20211225214259474](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174135692-1056342785.png)
有权限更改 file.py 内容,那就更改执行 bash。
![image-20211225214351245](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174136149-271622145.png)
执行获取 root
![image-20211225214413708](https://img2020.cnblogs.com/blog/1512048/202201/1512048-20220113174136575-1424738468.png)