DC-5靶机渗透测试
DC-5靶场
文章目录
- DC-5靶场
- 信息收集
- 漏洞发现
- 漏洞利用 --- 日志文件包含
- 漏洞利用 --- 文件包含过滤器链的RCE
- shell反弹
- 权限提升
信息收集
使用--script=vuln扫描发现了一个thankyou.php界面 感觉会有问题,前往访问网站信息


漏洞发现
- 来到
thankyou.php界面,发现只是一个普通的界面,但是再次访问的时候,发现下面的标识发生了改变,猜测这个界面存在文件包含,通过刷新来随机访问某一个界面


- 察觉到该网站存在文件包含漏洞,接下来尝试爆破一下读取文件的参数变量才行。使用burp对包含参数进行爆破,读取Linux的密码。fuzz字典爆破得到访问文件的参数是file


3. 还可以利用ffuf工具对参数进行爆破,得到文件包含参数为file

漏洞利用 — 日志文件包含
- 既然如此,该中间件是nginx,只需要访问nginx中间件的日志文件即可构建恶意get请求,来写入
shell了

- 通过搜索的值,日志文件存储在
/var/log/nginx/access.log
- 构造
paylaod进行访问

- 发现日志文件末尾有刚才访问请求的记录

- 构造恶意的
get请求,将shell写入日志中,发现直接构建url传参会进行转义。

- 尝试使用burp抓包修改参数进行传入,修改GET传参含有
<?php @eval($_POST[a]);?>一句话木马形式,传入到日志文件中。如果查看日志文件中没有这段代码,则成功执行了
- 再次尝试蚁剑连接,发现成功连接

- 再在网站根目录下上传一个
shell文件,再次连接,发现上传和写入失败,来到tmp文件夹内,写入新的shell文件

- 尝试连接新shell,成功连接

漏洞利用 — 文件包含过滤器链的RCE
-
工具地址https://github.com/synacktiv/php_filter_chain_generator。该工具可以用于生成 PHP 过滤器链的 CLI,如果用户能够完全控制PHP 中的 require 或 include 的参数,则无需上传文件即可获取 RCE
-
执行命令
python php_filter_chain_generator.py --chain '<?php system($_GET["a"]);?>'生成一句话木马的过滤器链。将生成的php过滤链直接传参,传入命令即可得到RCE的结果
python php_filter_chain_generator.py --chain '<?php system($_GET["a"]);?>'


3. 接下来执行反弹shell命令即可得到www-data用户的shell。比常规的文件包含获取shell简便了非常多


shell反弹
- 本地kali虚拟机监听本地端口,等待蚁剑的虚拟终端将shell反弹到主机端口上。反弹成功,优化shell界面

- 蚁剑将
shell反弹到kali上

权限提升
- 上传Linux漏洞探针

- 执行该探针文件,查看存在的系统漏洞

- 尝试了很多次,每个cve漏洞的利用文件都使用了,发现都执行不成功,应该是缺少某些东西了。看来还是得了解一下这些EXP了

- 尝试使用
SUID提权,使用find来查看是否有可以suid提权的命令

- 据了解scree-4.5.0存在可以利用的漏洞,使用searchsploit查找利用的exp
cp /usr/share/exploitdb/exploits/linux/local/41154.sh 41154.sh
cp /usr/share/exploitdb/exploits/linux/local/41152.txt 41152.txt

- 查看
.sh文件,发现需要形成两个.c文件,带有编译的命令,还有最后的shell脚本


- 将
41154.sh转换成Linux执行的文件dos2unix 41154.sh原来的提权文件是window版本的,所以上面执行力很多遍都没有成功。转换成Linux文件后,只需要将41154.sh传入到目标机上,给予执行权限,执行该脚本即可自动提权

- 使用
wget命令下载POC文件,赋予执行权限,bash 41154.sh发现执行成功,返回了一个#可输入的内容,输入id发现返回了root权限

- 来到root目录下,查看flag文件。成功

相关文章:
DC-5靶机渗透测试
DC-5靶场 文章目录 DC-5靶场信息收集漏洞发现漏洞利用 --- 日志文件包含漏洞利用 --- 文件包含过滤器链的RCEshell反弹权限提升 信息收集 使用--scriptvuln扫描发现了一个thankyou.php界面 感觉会有问题,前往访问网站信息 漏洞发现 来到thankyou.php界面ÿ…...
16、电科院FTU检测标准学习笔记-基本性能2
作者简介: 本人从事电力系统多年,岗位包含研发,测试,工程等,具有丰富的经验 在配电自动化验收测试以及电科院测试中,本人全程参与,积累了不少现场的经验 ———————————————————…...
MySQL——使用Python操作MySQL
文章目录 安装PyMySQL使用PyMySQL操作MySQL 在Python中操作MySQL数据库时,我们使用较多的库是 PyMySQL,如果你选择使用 PyMySQL库,那么首先需要通过pip安装它。pip install pymysql命令就是用来安装PyMySQL的。 安装PyMySQL 1.打开你的命令行工具&…...
Flink的DataStream状态管理
目录 键控数据流(Keyed DataStream) 键控状态(Keyed State) 值状态(ValueState) 列表状态(ListState) 归约状态(ReducingState) 聚合状态(AggregatingState) 映射状态(MapState) 状态生存时间(TTL) 算子状态(Operator State) 广播状态(Broadcast S…...
Daiqile SQL注入绕过
上源码。 <?php header("Content-type: text/html; charsetutf-8"); require db.inc.php;function dhtmlspecialchars($string) {if (is_array($string)) {foreach ($string as $key > $val) {$string[$key] dhtmlspecialchars($val);}}else {$string str_…...
用Python轻松移除PDF中的注释
PDF文档因其跨平台的兼容性和格式稳定性而备受青睐。然而,随着文档在不同用户间的流转,累积的注释可能会变得杂乱无章,甚至包含敏感或过时的信息,这不仅影响了文档的清晰度和专业性,还可能引发隐私风险。因此ÿ…...
51单片机—串口
一、 串口基本认知 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方 式的扩展接口。串行接口(Serial Interface)是指数据一位一位地顺序传送。其特点是通信线路简 单&a…...
vue 通过 this.$refs 创建方法i向子组件传参让子组件更新
在Vue中,this.$refs主要用于访问子组件的实例或者DOM元素。通过this.$refs,你可以调用子组件的方法或者访问其数据属性,从而实现子组件的更新。以下是一些使用this.$refs向子组件传参并触发更新的常见方法: 1. 直接调用子组件的方…...
Java设计模式以及代理模式
一、设计模式 1.JAVA六大设计原则 JAVA设计模式提供六个基本原则,分别是: 开闭原则(OCP) - The Open-Closed Principle单一职责原则(SRP) - Single Responsibility Principle里氏替换原则(LSP) - Liskov Substitution Principle依赖倒置原则(DIP) - D…...
Elasticsearch 索引库管理:查询、修改与删除
Elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎,它允许用户通过 RESTful API 进行数据的索引、搜索、更新和管理。在 Elasticsearch 中,索引库(Index)是存储数据的基本单元。本文将介绍如何查询、修改和删除 Elasticsea…...
视频大怎么压缩小?分享3种视频压缩方法
视频大怎么压缩小?视频文件过大时,压缩视频不仅能帮助我们节省宝贵的存储空间,使其更容易在有限容量的设备中保存,还能显著提升传输效率,特别是在网络条件有限或需要快速分享视频内容的场合。通过专业的压缩工具&#…...
springboot项目搭建集成 redis/跨域/远程请求
目录 一,创建maven项目 1,左上角file > new > maven project 2,next 到 创建 Group id 和 Artifact id编辑编辑 二,配置springboot 1,配置pom文件, 2,创建启动类 3ÿ…...
lvs详解及实例配置
目录 1.什么是负载均衡 1.1为什么用负载均衡 1.2.负载均衡类型 1.2.1.四层负载均衡 1.2.2.七层负载均衡 1.3 四层和七层的区别 2.LVS介绍 2.1LVS 的优势与不足 2.2LVS 核心组件和专业术语 3.ipvsadm命令 4.LVS集群中的增删改 4.1.管理集群服务中的增删改 4.2.管理集…...
DAY41-动态规划-买卖股票
LeetCode121. 买卖股票的最佳时机 public int maxProfit(int[] prices) {//dp数组含义:0为持有该股票,1为不持有该股票int[][] dp new int[prices.length][2];dp[0][0]-prices[0];dp[0][1]0;for(int i1;i<prices.length;i) {dp[i][0]Math.max(dp[i-…...
【C#】StringComparer
什么是“文化” 在 .NET 中,“文化”(Culture)指的是与语言、地区、和区域设置相关的特定信息集合。这些信息包括了日期和时间的格式、数字的表示方式、货币符号、字符串比较规则等等。文化的概念在软件开发中特别重要,因为应用程…...
阿里云服务器远程登录问题解决指南
前言 在使用阿里云服务器时,可能会遇到无法通过密码进行远程登录的情况。这种情况通常是因为操作系统默认禁用了密码登录功能。本文将介绍如何解决这一问题,确保能够顺利地通过密码进行远程登录。 问题描述 当尝试通过Workbench进行密码登录时&#x…...
Datawhale X 魔搭 AI夏令营(2024第四期)AIGC方向 学习笔记
粗谈 这一期是使用可图lora微调进行文生图任务的比赛 文生图也算是跨模态了,输入Prompt文本,输出图片。Prompt很重要,分为prompts和negative prompts。可以指导结果图片的生成。 lora可以参考我上期夏令营的文章:Datawhale AI 夏令营&…...
VScode前端环境搭建
前言 VScode是企业中最常用的前端开发工具,本文描述如何利用VScode搭建前端开发环境 一、安装VScode 下载Vscode 点击前往下载页面 安装 安装时一直点击下一步即可 二、环境配置 1)更改语言 点击拓展搜索Chinese后下载第一个,下载完后…...
Python自动化测试之selenium - 元素定位
元素定位 元素定位就是通过元素的信息或者元素层级结构来定位元素。当定位到了重复的属性,默认会定位到第一个标签。 id定位 - find_element_by_id 同一个html页面中id值是唯一的。 模拟在百度输入框中输入想要查找的内容 python 代码解读 复制代码 from sel…...
深入探索 npm cache clean --force:清理 npm 缓存的艺术
npm 是 JavaScript 编程语言的包管理器,它是 Node.js 运行环境的默认包管理器。npm 提供了一个丰富的生态系统,包括数以百万计的可重用代码包。然而,随着时间的推移,npm 的缓存可能会变得庞大,影响性能或导致一些奇怪的…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统
Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...
海云安高敏捷信创白盒SCAP入选《中国网络安全细分领域产品名录》
近日,嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,海云安高敏捷信创白盒(SCAP)成功入选软件供应链安全领域产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解…...
如何通过git命令查看项目连接的仓库地址?
要通过 Git 命令查看项目连接的仓库地址,您可以使用以下几种方法: 1. 查看所有远程仓库地址 使用 git remote -v 命令,它会显示项目中配置的所有远程仓库及其对应的 URL: git remote -v输出示例: origin https://…...
【PX4飞控】mavros gps相关话题分析,经纬度海拔获取方法,卫星数锁定状态获取方法
使用 ROS1-Noetic 和 mavros v1.20.1, 携带经纬度海拔的话题主要有三个: /mavros/global_position/raw/fix/mavros/gpsstatus/gps1/raw/mavros/global_position/global 查看 mavros 源码,来分析他们的发布过程。发现前两个话题都对应了同一…...
从0开始学习R语言--Day17--Cox回归
Cox回归 在用医疗数据作分析时,最常见的是去预测某类病的患者的死亡率或预测他们的结局。但是我们得到的病人数据,往往会有很多的协变量,即使我们通过计算来减少指标对结果的影响,我们的数据中依然会有很多的协变量,且…...
