BurpSuit实验室之目录穿越
这是BurpSuit官方的实验室靶场,以下将记录个人目录穿越共6个Lab的通关过程
Web Security Academy: Free Online Training from PortSwigger
lab1:
File Path traversal,simple case
文件路径遍历,简单情况
在页面发现了/image?filename=xxx的路径
尝试/image?filename=…/…/…/etc/passwd进行目录穿越读取文件 …/逐渐增加
lab2:
File path traversal, traversal sequences blocked with absolute path bypass
文件路径遍历,绝对路径绕过阻塞的遍历序列
lab1是相对路径,lab2是绝对路径用相对路径会失败,直接访问/image?filename=/etc/passwd
lab3:
File path traversal, traversal sequences stripped non-recursively
文件路径遍历,非递归剥离遍历序列
相对路径双写绕过
lab4:
File path traversal,traversal sequences stripped non-recursively
文件路径遍历,遍历序列剥离多余的URL解码
编码绕过
/进行URL编码为%2F尝试绕过,尝试失败
%2F再进行URL编码为%252F绕过成功
lab5:
File path traversal,validation of start of path
文件路径遍历,路径开始的验证
这次目录穿越的路径变了
多加几个…/成功过关
lab6:
File path traversal, validation of file extension with null byte bypass
文件路径遍历,绕过空字节验证文件扩展名
这里是对路径文件后缀做了个白名单进行判断,我们加入.jpg后缀用来过白名单,并用截断符%00用来截断.jpg
因为%00对应ASCII码0的URL编码,在ASCII中0是特殊字符保留,表示字符串结束,因此%00有截断效果,同时像0x00,/00也有截断效果。
%00首先是被服务器解码成16进制0x00,0x00对应着ASCII中的0才发挥了截断效果。