HTB Hack The Box -- Oopsiec
信息收集

开放了22ssh,80端口,其中ssh有弱口令爆破端口
先打开网页,然后进行目录爆破,在这期间先看一下网页的大概信息


没爆到什么有用的东西,但是有uploads文件夹说明是不是说明有文件上传?
打开页面,点击所有链接发现都是跳转到当前页面,一个一个看网页上写了点什么,最后看到了loginin这个关键词,所以极大可能是有一个登陆页面,然而dirsearch却没有爆破出来,猜测登录的页面放在了某个文件夹下

查看源码,发现有login相关的关键词,路径为cdn-cgi/login

打开目录,发现自动跳转到登陆页面
登录页面的特性:
没有验证码,没有回显,没有错误次数限制,理论上是非常适合弱口令爆破的,但是应该没有字典可以爆破出来
原因是密码是和其他靶机相关,也就是账号密码都是上一个靶机的账号密码,理由是靶机之间有关联,我只能说不知有些话该不该说
admin,MEGACORP_4dm1n!!
打开后台页面,有四个可以点击的链接

其中,Account、Branding、Clients有疑似sql注入,原因是通过切换url的id值会显示不同的内容
upoloads页面猜测可以文件上传,开头时就已经猜到了,但是似乎需要super admin才拥有文件上传的权限,而我们如今登录的账号是admin

首先先来看一下sql注入的点


可以看到,通过修改brandId的值,返回了不同的内容,很难不让人想到和数据库做了交互
但是手工注入无法使其报错,甚至sqlmap也跑不出来,猜测是故意骗的,很没意思
再回来观察一下upload页面,要求要suer admin权限,看一下cookie
cookie由两个值组成


我认为决定身份的应该是由user的值决定的
经修改user值为super admin的值也验证了无法更改身份,那我们目前的目标就是为了拿到super admin的id值
攻击
这时候我们回到account这个页面,通过传递不同的id值,返回不同的用户的id值,姓名,邮箱
使用burpsuite进行爆破,从1-100,看看能爆出什么东西,设置如下

在id=30时可以爆破出来

id=86575,再返回到upload页面

先尝试上传一个正常的图片,目的是为了确定上传后图片所在的位置

正常上传,同时确定路径就是ip/uploads
接下来尝试上传后门,上传一个msf的后门,结果直接上传,没有任何限制,访问页面,成功反弹shell

机器的flag就放在/homeRobert的user.txt中,但是我想尝试一下提权
提权
在网站的cdn-cgi/db.php中有robert的用户和密码,通过ssh登录
使用id查看权限

发现robert有两个权限,搜索和bugtracker的相关信息
find / -name bugtracker 2>/dev/null
运行一下bugtracker,输入数字就会显示出一些信息,打算cat一下,发现是二进制文件
使用string输出一下可以打印的字符

结果发现软件浏览了/root/reports目录,一般来说没有root权限是看不了root目录的,说明bugtracker有root权限
然后后面就有点不懂了,不知道cat命令没有使用cat命令的绝对路径,而是使用绝对路径调用的,即在当前用户的$PATH环境变量指定的路径中搜寻cat命令这个结论是怎么得出来的,不过如果是这样的实现文件读取的话就可以通过修改环境变量的值来让bugtracker以root权限运行我们想要的程序
将/tmp目录设置为$PATH环境变量的第一个目录,切换到/tmp目录下构造恶意cat命令并赋予执行权限。当bugtracker再次调用cat命令时实际上调用的是/tmp目录下的恶意cat命令(shell执行命令时按照PATH环境变量中目录的顺序搜索,搜索到即开始执行),此时robert用户临时具有了root权限,上面的id命令可以看出只是robert用户的uid变为了root,不是真正的root用户。
HTB Hack The Box -- Oopsiec的更多相关文章
- HACK TEH BOX - Under Construction(JWT密钥混淆 + SQL注入)
HACK TEH BOX - Under Construction(JWT密钥混淆 + SQL注入) 目录 1. JWT密钥混淆 2. 环境 3. Challenge 4. Walkthrough 1 ...
- Hack The Box( Starting Point )
Hack The Box [Starting Point] 初始点 -- 了解渗透测试的基础知识. 这一章节对于一个渗透小白来说,可以快速的成长.以下将提供详细的解题思路,与实操步骤. TIER 0 ...
- Hack The Box Web Pentest 2019
[20 Points] Emdee five for life [by L4mpje] 问题描述: Can you encrypt fast enough? 初始页面,不管怎么样点击Submit都会显 ...
- hack the box -- sizzle 渗透过程总结,之前对涉及到域内证书啥的还不怎么了解
把之前的笔记搬运过来 --- 1 开了443,用smbclient建立空连接查看共享 smbclient -N -L \\\\1.1.1.1 Department Shares Operatio ...
- Hack the box: Bastion
介绍 目标:10.10.10.134 (Windows) Kali:10.10.16.65 In conclusion, Bastion is not a medium box. But it wou ...
- Bashed -- hack the box
Introduction Target: 10.10.10.68 (OS: Linux) Kali linux: 10.10.16.44 Information Enumeration Firstly ...
- Hack The Box 获取邀请码
TL DR; 使用curl请求下面的地址 curl -X POST https://www.hackthebox.eu/api/invite/generate {"success" ...
- 2019-10-30,Hack The Box 获取邀请码
一.快速获取邀请码方法 1,使用curl请求下面的地址curl -X POST https://www.hackthebox.eu/api/invite/generate 2,在返回结果的code部分 ...
- Hack The Box Web Pentest 2017
[20 Points] Lernaean [by [Arrexel] 问题描述: Your target is not very good with computers. Try and guess ...
随机推荐
- yum 卸载
# yum list installed | grep [软件名] #yum -y remove [软件名]
- uTools电脑软件快速启动工具
uTools电脑软件快速启动工具 http://www.autoahk.com/archives/16112 https://gitee.com/weiyunw ...
- centos安装ansible
此次测试总共有三台机,分别如下: ansible服务器:10.0.0.20 client01:10.0.0.21 client02:10.0.0.22 一.安装ansible 方法一. yum ins ...
- 从零开始实现简单 RPC 框架 2:扩展利器 SPI
RPC 框架有很多可扩展的地方,如:序列化类型.压缩类型.负载均衡类型.注册中心类型等等. 假设框架提供的注册中心只有zookeeper,但是使用者想用Eureka,修改框架以支持使用者的需求显然不是 ...
- Nginx搭建与相关配置
目录 一.Nginx简介 1.1 概述 1.2 Nginx与Apache的差异 二.编译安装Nginx服务 2.1 将nginx软件包传到主机/opt目录下 2.2.安装依赖包 2.3.添加模块编译安 ...
- 【笔记】numpy.array基础(1)
numpy.array基础 使用numpy.__version__可以检查numpy的版本 当然也可以直接使用命令行检查numpy版本 也可以用来简化引用,使用as python list特点 num ...
- 题解 Six(留坑)
传送门 考场上搞了个三进制状压,结果正确性假了-- 有想到从约数下手,但觉得就光预处理约数复杂度就爆炸就没往这边想-- 首先是关于约数个数的证明,再一次感谢战神: 因为 \(n = \prod p_i ...
- 分布式文件系统FastDFS搭建实操
转载---------佳先森--- 一.什么是文件系统 分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节 ...
- 【springboot】自定义启动器
本文只对springboot自定义启动器的具体实现进行描述,不涉及springboot自动装配原理的介绍. 对springboot自动配置原理感兴趣的请移步 狂神说SpringBoot02:运行原理初 ...
- C#多线程---Task实现异步
一.场景 使用Task来进行累加操作. 二.例子-Task使用 1 using System; 2 using System.Collections.Generic; 3 using System.L ...