目录遍历漏洞

本文阅读 3 分钟

目录遍历漏洞通过操纵引用带有“点-点-斜杠(…/)”序列及其变体的变量或使用绝对路径,攻击者可以读取运行在服务器上的任意文件,包括应用程序代码和数据、后端系统的凭据以及敏感的操作系统文件。在某些情况下,攻击者能够向服务器写入任意文件,从而允许他们修改应用程序数据或行为,并最终完全控制服务器。

<?php 
$ template  =  'red.php' ; 
if  (isset ($ _COOKIE [ 'TEMPLATE' ])) {  
    $ template  =  $ _COOKIE [ 'TEMPLATE' ]; 
}
?>

我们只要使用…/构造相对路径对文件进行遍历就可以达到攻击效果 … / … / … / … / … / … / … / … / … / etc / passwd

编码和双重编码:
%2e%2e%2f   ../
%2e%2e/  ../
..%2f  ../ 
%2e%2e%5c  ..\
%2e%2e\ ..\ 
..%5c  ..\ 
%252e%252e%255c  ..\ 
..%255c  ..\
百分比编码(又名URL编码)
Web容器对来自表单和URL的百分比编码值执行一级解码。
..%c0%af  ../ 
..%c1%9c  ..\

特定于操作系统

UNIX系统
常见的类Unix目录遍历使用该../模式。
Sudo是Unix中普遍存在的特权管理程序,
当用户使用glob通配符来指定允许用户运行哪些命令时
(例如chown /opt/myapp/myconfig/*可以被该命令利用),
它容易受到此攻击sudo chown baduser /opt/myapp/myconfig/../../../etc/passwd。
windows和DOS目录遍历使用../或者..\
每个分区都有一个单独的根目录(标记为C:\C可以是任何分区),
在该目录之上没有公共的根目录。
这意味着对于Windows上的大多数目录漏洞,攻击仅限于单个分区。

1、未进行任何防御

img img

2、双写进行绕过

img

3、利用编码进行绕过

img

4、利用%00截断后缀绕过

img

5、利用文件路径绕过

img

1、对用户的输入进行验证,特别是路径替代字符如“…/”和“~/”。

2、采用白名单的形式,验证所有的输入。

3、合理配置Web服务器的目录权限。

4、控制返回数据,保证返回数据不会泄露任何和服务器相关的隐私数据。

5、对用户传过来的文件名参数进行编码

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/sycamorelg/article/details/111644144
-- 展开阅读全文 --
Web安全—逻辑越权漏洞(BAC)
« 上一篇 03-13
Redis底层数据结构--简单动态字符串
下一篇 » 04-10

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复