龙空技术网

目录穿越 -网络应用程序渗透测试

吉祥庄钢铁侠 117

前言:

此时我们对“win10iis6默认文档”大致比较注重,咱们都想要分析一些“win10iis6默认文档”的相关文章。那么小编同时在网摘上汇集了一些有关“win10iis6默认文档””的相关文章,希望咱们能喜欢,我们快快来了解一下吧!

什么是目录穿越?

HTTP漏洞是目录穿越,也被称为路径穿越。为了访问存储在服务器根目录之外的数据,它利用了网络服务器的安全缺陷。

攻击者在成功的目录遍历尝试允许他们读取受限文件后,有时还能在目标服务器上运行命令。

目录遍历攻击经常利用网络浏览器。这意味着,每一个接受来自网络浏览器的未经验证的输入数据的服务都是可以被攻击的。威胁者在发动这种攻击之前,经常通过目录树搜索,找到通往网络服务器上被禁止文件的路线。

目录遍历的过程是什么?

在网络服务器的文件系统中,在一个被称为网络文档根的地方,是构成网站或网络应用的源代码文件(网络根文件夹)。

通常情况下,每个网站和在线应用程序在主文件根中都有一个子目录。

例如,运行Apache网络服务器软件的Linux/UNIX服务器的默认根文件夹是/var/www,而运行IIS的Microsoft Windows服务器的默认文档根是C:inetpubwwwroot。

直接访问位于文档根目录或子文件夹中某个地方的文件的应用程序代码,偶尔可能需要由开发人员编写。

例如,一个开发者可能希望保存用户上传的照片,并随后让其他用户查看它们。该程序在收到来自/var/www/my app/images/的图片文件名作为用户输入参数后,就会打开某张图片并在屏幕上显示。

当一个恶意的用户在用户输入中包含一个任意的文件路径,并使用特殊字符访问服务器上不同目录的文件时,这被称为目录穿越漏洞。点状斜线字符被用于此,如Linux/UNIX的.../或Windows的...。这些组合提供了对父目录的相对路径访问。

虽然目录遍历是一个常见的在线应用漏洞,但它最常在嵌入式网络应用中被发现,如远程管理界面或设备管理软件。甚至网络服务器本身也被指责为几个路由遍历问题。

目录穿越漏洞是如何被利用的?

网络服务器收到请求后,将用户指定的././etc/hosts相对路径追加到网页目录(/var/www/)。这就形成了一个完整的路径。/var/www/html/.../.../etc/hosts。

在像UNIX这样的系统中,元素./穿越文件系统中的一个目录,可以让一个恶意用户访问文件/etc/hosts。

这种攻击技术可能被恶意的人用来获取敏感数据,包括密码和数据库凭证。他们可以利用这个缺陷进一步列举系统,并收集必要的数据,以便利用LFI和RFI等攻击载体进行联合攻击。

简单的目录遍历(点-点-斜线攻击)

当用户可能通过URL参数下载一个文件时,一个应用程序正在显示一个最基本形式的目录遍历攻击。

例如,如果用户输入文件名document.pdf,网站使用以下URL将PDF下载到用户的电脑上。

网站文件通常保存在/var/www下,如果网站托管在Linux服务器上,这是在根目录之上的两个目录。攻击者可以用下面的文件名来利用这一点。

.../.../etc/passwd如果程序不对输入进行消毒,它将在系统调用中利用攻击者的字符串,改变为根用户,然后让攻击者访问/etc/目录。然后攻击者就能访问受密码保护的文件。

类似的攻击可以在Windows系统上使用字符串\...

使用Cookies进行目录遍历

Cookies经常使用网络服务器目录来加载网站的必要文件。因此,网站很容易受到目录遍历攻击。以一个cookie为例,它通过访问一个文件来加载一个新鲜的网站设计模板。

<?php $design = 'new-design.php'。 如果(isset($_COOKIE['DESIGN'])) { $template = $_COOKIE['DESIGN']; } include(".../resources/" . $design)。 ?>

在这种情况下,文件的名称被存储在DESIGN cookie中,并被附加到一个路径上。由于没有对$design变量进行验证,攻击者可以发送一个GET HTTP请求,将cookie的值修改为DESIGN=.../.../etc/passwd

然后Web服务器将执行以下系统调用,加载passwd文件而不是设计模板。

include("./skins/././etc/passwd")。

标签: #win10iis6默认文档