文件操作漏洞大致分为5类,文件上传,文件包含,文件读取,目录穿越,文件下载及删除
目录穿越(也叫目录遍历)是通过目录控制序列 ../ 或者文件绝对路径来访问存储在文件系统上的任意文件和目录的一种漏洞。
攻击者可以通过目录穿越攻击来查找,执行或存取WEB应用程序所在的根目录以外的文件夹
上一级目录可以用../表示
web网站有时候会采取目录遍历的防御措施,如过滤 ../ 上一级等关键字,然后简单的过滤通常会被绕过。有时候可以直接采用绝对路径,无须../返回上一级目录遍历
有时候,防御措施是直接将 ../ 替换为空,可以直接采用双写/复写直接绕过,也可以采用URL编码来绕过服务器对 . 或者 / 的检测:
. 替换为%2c
/ 替换为 %2f
% 替换为%25 (双重URL编码)
绝对路径配合../
因为查看商品的图片,是通过filename参数来确定图片的,有些web在获取filename图片文件的时候,会首先判断是否以一个固定的路径开头,那么就可以配合../来返回上一级遍历任意文件
截断文件后缀
某些web对filename的文件类型作了限制,只有当后缀为图片时才解析,这时候就可以利用 %00 来截断
目录遍历漏洞不会仅限于一个绕过姿势,通常会配合多个姿势进行组合攻击。
综上总结常用绕过手段:
双写:....//
url编码:.(%2c) /(%2f) \(%5c) %(%25)
截断绕过(特定文件限制防御时使用):%00
进行超长UTF-8 Unicode编码:
点(%c0%2e %e0$40%ae %c0ae)
反斜杠(%c0af %e0%80af %c0%af)
正斜杠(%c0%5c %c0%80%5c)
filename 变量是一个包含了你要访问的文件名称的字符串值。
/var/www/images/ 是Linux系统中默认的Web服务器根目录,是存放网页文件的地方
标签:文件,遍历,..,c0%,穿越,绕过,目录 From: https://blog.csdn.net/2402_87039650/article/details/142717474