Oopsie从80端口到获取root权限的渗透过程

Oopsie

需要用到的工具burpnmapnc手写代码
信息收集
由于是靶场的原因单一没有子站所以收集到ip就可以

图片

nmap扫描
拿到IP第一件事就是扫描端口
nmap -T4 -sV -sC -sS 10.129.24.79
-T4:提升扫描速度
-sV:查看详细版本
-sC:使用默认类别的脚本进行扫描 可更换其他类别
-sS:半连接扫描
端口:22、80

图片

先看80端口
80是网站端口
打开浏览器输入ip
经过被动扫描发现后台目录

图片

访问后台看下
发现一个上传文件的地方
点击发现需要管理员的权限

图片

图片

随意点击看看
在Account下发现,用户名guest与id:2233此时灵光一现会不会跟cookie有关
F12看下cookie:发现在cookie中对应的是页面上显示的id与用户名
尝试修改id看看
发现当id等于1的时候显示了admin账户与id。。。(不愧是简单级别的靶场)
但我们的目标是getshell不是webshell

图片

图片

修改cookie
把刚刚获取的id与账户放进cookie尝试进入uploads(上传模块)
发现可以上传文件了
上传木马反弹权限
上传木马
枚举上传路径(工具应该可以搭配代理池)

图片

图片

反弹shell

访问文件反弹shell
现在访问文件反弹shell
建立半交互式shell(普通shell无法使用 su等命令)
SHELL=/bin/bash script -q /dev/null
SHELL=/bin/bash :将shell设置为/bin/bash
/bin/bash :告诉系统,其后路径所指定的程序,即是解释此脚本文件的 Shell 程序
/dev/null:被称为黑洞

图片

进入网站根目录
cd /var/www/html
ls
查看当前目录
发现刚刚在burp被动扫描出来的登录页面,目录文件夹。

图片

进入登录文件夹
cd /cdn-cgi/login
发现几个有趣的文件

图片

查找密码
cat * |grep -i passw*
cat * :进入当前目录下的所有文件内
|grep -i:查找文件并且不区分大小写
passw*:内容:passw开头的全部信息显示出来
发现一个疑似密码的东西

图片

查看可用用户
cat /etc/passwd
这个文件里面记录着用户

图片

尝试登录
利用刚刚得到的密码进行重要用户登录
su root
su robert
失败

图片

图片

再次寻找密码
重新查看文件发现一个看起来很小的文件
db.php
打开看看
cat db.php
没想到就看到了robert账户与密码

图片

再次尝试登录robert账户
登录成功

图片

获取一段flag
进入home/robert目录下
cd /home/robert

图片

权限提升

测试命令sudo与id
sudo -l
id

图片

查看用户组文件
查看这个组内是否有二进制文件
发现一个二进制文件

图片

查看文件权限与类型
ls -la /usr/bin/bugtracker && file /usr/bin/bugtracker
权限是root,类型是suid(这是个有前途的利用路径)suid(setuid):设置了这个不管那个用户执行这个文件都相当于root权限执行的

图片

文件执行
发现这个文件是把用户输入的当做cat命令去执行(貌似是个快捷打开工具)
但是没有指定cat的绝对路径
写入文件并加入环境变量
查看环境变量
发现bugtracker这个文件所在的文件夹在环境变量中,说明这个脚本不会限制位置。
进入一个空文件夹:/tmp
新建cat文件:echo '/bin/sh'>cat
添加执行权限:chmod +x cmd
添加目录到环境变量:export PATH=/tmp:$PATH(如果不把这个文件夹加入环境变量就是无效的)export 命令用于设置或显示环境变量(说人话就是添加与删除环境变量)/tmp:  :/tmp是这个文件夹 : (在linux环境变量中冒号就是结尾类似windows环境变量中的;(分号)。)
开启文件。

图片

图片

图片

拿到root权限

图片

获取第二段flag

这段flag在root目录下
由于我们把cat定义为了/bin/sh所以此时cat命令是不可用的可以使用more或xxd等命令代替。

图片

 声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权

免费领取安全学习资料包!


渗透工具

技术文档、书籍

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

应急响应笔记

学习路线

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/833687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 Cython 加密 Python 代码防止反编译

文章目录 前言使用 Cython 加密 Python 代码环境Python 源代码编写 Cython 编译配置文件 编译查看输出文件使用 问题error: Microsoft Visual C 14.0 or greater is requiredpyconfig.h(59): fatal error C1083: 无法打开包括文件: “io.h”: No such file or directorydynamic…

Postgresql中JIT函数能否inline的依据function_inlinable

相关 《LLVM的ThinLTO编译优化技术在Postgresql中的应用》 在JIT inline函数的过程中,会通过函数的bc代码,经过一系列规则、成本的判断来决定函数能否Inline,本篇重点分析这段逻辑:function_inlinable。 总结速查: 入…

分布式链路追踪工具Sky walking详解

1,为什么要使用分布式链路追踪工具 随着分布式系统和微服务架构的出现,且伴随着用户量的增加,项目的体量变得十分庞大,一次用户请求会经过多个系统,不同服务之间调用关系十分复杂,一旦一个系统出现错误都可…

iphone忘记锁屏密码怎么解锁?这些解锁方法你必须知道!

在使用iPhone的过程中经常会遇到很多问题,比如忘记了iPhone的锁屏密码。面对这样的情况,许多用户可能会感到手足无措。别担心,本文将为您详细介绍iPhone忘记锁屏密码的解锁方法,让您轻松解决这一烦恼。 一、使用iTunes备份恢复 如…

以gitee为例的git入门使用指北

安装git 在linux中我们首先需要使用 sudo apt install git来下载git 在windows中可以下载msysGit 链接:https://git-scm.com/download/win gitee准备 申请账号 建立仓库 ​ 点击新建仓库 这里一般是私有库,点击创建,这时你就拥有一个线上…

python作业五

题目:注册登录 制作一个注册登录模块 注册:将用户填入的账户和密码保存到一个文件(users.bin) 登陆:将用户填入账户密码和users.bin中保存的账户密码进行比对,如果账户和密码完全相同 那 么登录成功,否则登录失败…

电脑屏幕监控软件有哪些?8款受欢迎的电脑屏幕监控软件

电脑屏幕监控软件有哪些?8款受欢迎的电脑屏幕监控软件 市场上有很多监控软件,因为太多,很多老板不知道怎么选,今天小编从它们各自的特点、优势、未来发展趋势几方面,介绍8款受欢迎的电脑屏幕监控软件。 第一是&#x…

探索网站支付系统的奥秘,从Vue3和Spring Boot开始(入门级项目实战+在线教程)附赠项目源码!

你是否曾经在购物时,对着电脑屏幕前的“支付成功”四个字感到好奇?这背后的秘密究竟是什么? 今天,让我们一起揭开支付系统的神秘面纱,探索其背后的技术实现。 在这个基于Vue3和Spring Boot的支付项目实战中&#xff…

MySQL学习笔记10——日志

日志 一、日志1、通用查询日志(1)开启通用查询日志(2)查看通用查询日志(3)删除通用查询日志 2、慢查询日志3、错误日志4、二进制日志(1)查看二进制日志(2)刷新…

Ansible-Playbook——部署LNMP架构

目录 环境准备 一、配置Nginx的Roles角色 1.创建Nginx所需的文件夹 2.编写Nginx配置文件 3.编写Nginx安装文件 4.编写Nginx控制器文件 5.编写Nginx任务文件 6.编写Nginx变量文件 二、配置Mysql的Roles角色 1.创建Mysql所需的文件夹 2.编写Mysql启动文件 3.编写Mysql…

源码部署与SaaS账号:企业软件选择的自建房与租赁公寓之辩

在数字化运营的时代,企业选择软件解决方案就如同在选择住所:源码部署类似于“自建房屋”,而SaaS账号则更像是“租赁公寓”。 自建房屋(源码部署) 当你选择自建房屋时,你需要投入大量的时间和资金来购买土地…

二叉树遍历总结

7.二叉树 二叉树理论基础 二叉树的种类 在我们解题过程中二叉树有两种主要的形式:满二叉树和完全二叉树。 满二叉树 完全二叉树 二叉搜索树 平衡二叉搜索树 C中map、set、multimap,multiset的底层实现都是平衡二叉搜索树,所以map、set的增…

实现左上角的固定视口但是网格以图片中心放大缩小

仅仅修改了showbk() 函数部分,增加bkv4 直接采样,然后粘贴到左上角,实现多余部分裁剪,形成视口内放大缩小 // 程序:2D RPG 地图编辑器与摄像机追随 // 作者:bilibili 民用级脑的研发…

C语言(指针)1

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

【操作系统】内存管理——地址空间连续内存分配与非连续内存分配

内存管理——地址空间&连续内存分配与非连续内存分配 一、地址空间1.1 计算机存储层次1.2 地址和地址空间1.3 虚拟存储的作用 二、内存分配2.1 静态内存分配2.2 动态内存分配 三、连续内存分配3.1 动态分区分配3.2 伙伴系统(Buddy System) 四、非连续…

深入浅出(五)JsonCpp库

JsonCpp库 1. JsonCpp 库1.1 JsonCpp库下载 2. JsonCpp库编译与部署3. C示例 1. JsonCpp 库 JsonCpp 是一个开源的 C 库,用于解析、生成和操作 JSON 数据。它提供了简单易用的 API,使得在 C 程序中处理 JSON 数据变得方便和高效。以下是 JsonCpp 库的一…

适合宝妈的项目,一单20,看似不起眼的小生意,却能闷声发财!

向大家推荐一个小项目,信息差较大,每单至少有20元的利润。目前参与的人还不多,是个不错的机会。操作方法也非常简单,只需利用京东家政券赚取差价。可能很多人是第一次了解到这个——京东竟然还有家政券。 周周近财:让…

Android11 InputReader分析

InputReader线程主要负责读取输入数据,并把数据交给InputDispatcher线程。本文以多指触摸屏为例,梳理一下InputReader的流程。 InputReader线程主要完成以下工作: 处理已有的输入设备处理新增或者移除的输入设备对输入设备产生的输入数据进行…

数字工厂管理系统如何实现生产过程透明化

随着科技的飞速发展,数字化转型已成为制造业不可逆转的趋势。数字工厂管理系统作为实现生产自动化、智能化的重要工具,其在提升生产效率、降低运营成本、优化资源配置等方面的作用日益凸显。其中,实现生产过程的透明化是数字工厂管理系统的重…

一文彻底学会Vue3路由:全面讲解路由流程、路由模式、传参等——全栈开发之路--前端篇(7)路由详解

全栈开发一条龙——前端篇 第一篇:框架确定、ide设置与项目创建 第二篇:介绍项目文件意义、组件结构与导入以及setup的引入。 第三篇:setup语法,设置响应式数据。 第四篇:数据绑定、计算属性和watch监视 第五篇 : 组件…