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 ...
随机推荐
- 用webpack发布一个vue插件包
创建库 本来以为很简单,结果配置了webpack之后,运行build就报错了,似乎不认识es6语法,于是先后安装了几个包: @babel/core @babel/preset-env babel-lo ...
- MetaBase使用iframe内嵌到Vue页面样式优化
Matebase是一个开源,易上手的BI工具,这里不做太多介绍了. 官网地址:https://www.metabase.com/ 解决问题描述: 使用iframe内嵌Metabase公开链接之后,页面 ...
- 🏆【Java技术专区】「编译器专题」重塑认识Java编译器的执行过程(消除数组边界检查+公共子表达式)!
前提概要 Java的class字节码并不是机器语言,要想让机器能够执行,还需要把字节码翻译成机器指令.这个过程是Java虚拟机做的,这个过程也叫编译.是更深层次的编译. 在编译原理中,把源代码翻译成机 ...
- 这个大表走索引字段查询的 SQL 怎么就成全扫描了,我TM人傻了
今天收到运营同学的一个 SQL,有点复杂,尤其是这个 SQL explain 都很长时间执行不出来,于是我们后台团队帮忙解决这个 SQL 问题,却正好发现了一个隐藏很深的线上问题. select a. ...
- 使用vue实现用户管理 添加及删除功能
简单的管理系统-增删改查 添加及删除功能 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...
- vivo 全球商城:优惠券系统架构设计与实践
一.业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部分,早在15年vivo商城还是单体应用时,优惠券 ...
- SpringBoot - Bean validation 参数校验
目录 前言 常见注解 参数校验的应用 依赖 简单的参数校验示例 级联校验 @Validated 与 @Valid 自定义校验注解 前言 后台开发中对参数的校验是不可缺少的一个环节,为了解决如何优雅的对 ...
- C++ //构造函数调用规则 //1.创建一个类,C++编译器会给每个类添加至少3个函数 //默认构造(空实现) //析构函数(空实现) //拷贝函数(值拷贝) //2.如果我们写了有参构造函数 编译器就不会提供默认构造函数 但是会提供拷贝构造函数 //3.如果我们写了拷贝函数 编译器就不再提供 默认 有参 构造函数
//构造函数调用规则 #include <iostream> using namespace std; //1.创建一个类,C++编译器会给每个类添加至少3个函数 //默认构造(空实现) ...
- CPU 指令环 ring0,ring1,ring2,ring3
Intel的CPU将特权级别分为4个级别:RING0,RING1,RING2,RING3. Windows只使用其中的两个级别RING0和RING3,RING0只给操作系统用,RING3谁都能用.如果 ...
- SQL 练习13
查询没学过"张三"老师讲授的任一门课程的学生姓名 SELECT * from Student WHERE SId not in ( SELECT SC.SId from Teach ...