0x00前言 本文的主要目的是分享在服务器遭受文件包含漏洞时使用各种技术攻击Web服务器的想法。 我们都知道LFI漏洞允许用户在URL中包含一个文件。在本文中,我使用了两个不同的平台,bWAPP和DVWA,其中包含包含漏洞的文件演示。通过它,我以四种不同的方式执行LFI攻击。 0x01 包含基本本地文件 在浏览器中输入目标IP并登录BWAPP(bee:bug)。现在选择bug:remote&本地文件包含,然后单击黑客。
打开包含RFI和LFI漏洞的网页。在下拉列表中选择语言。单击“转到”按钮时,所选语言文件将包含在URL中。执行基本攻击操作。 http://192.168.1.101/bWAPP/rlfi.php?language=lang_en.php&action=go进入192.168.1.101/bWAPP/flfi.php?language=/etc/passwd 在基本的LFI攻击中,我们可以使用(./)或简单地(/)直接从目录中读取文件的内容。在下面的屏幕截图中,访问浏览器URL中的密码文件。
0x02 Null byte 在某些情况下,由于高级别的安全性,上面提到的基本本地文件包含攻击可能无法正常工作。从下面的屏幕截图中可以看出,当在URL中执行相同的路径时,无法读取密码文件。 因此,当遇到这样的问题时,您可以执行NULL字节攻击。 打开burp套件以捕获浏览器请求,然后选择代理选项卡并开始拦截。使用突发套件时,不要忘记设置浏览器代理。
将截取的数据发送到转发器。
分析转发器中生成的请求和响应。从屏幕截图中可以清楚地看出,无法读取/etc/passwd。
在下面的屏幕截图中,通过在etc/passwd目录的末尾添加空字符(%00)来转发请求,然后单击go选项卡。然后在窗口的右视图中,密码文件将作为响应打开。
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,复制整个编码文本。
使用hackbar解码复制的编码文本。
将复制的编码文本粘贴到弹出对话框中。
密码文件的内容:
0x04 PHP输入 使用PHP Input函数通过注入PHP代码来利用LFI漏洞。首先,加载着陆页网址: http://192.168.1.101/bWAPP/rlfi.php?language=lang_en.php&action=go
使用PHP输入函数: 从对等方接收数据时失败 Failure when receiving data from the peer