所有的文件在NTFS中至少包含一个主数据流,也就是用户可见的文件或是目录,窗口中搜能看到的文件都有主数据流,也可有多个交换数据流(ADS)
一个文件在NTFS中真正的文件名称格式:
<文件名>:<流名>:<流种类>
ADS数据流可以单独的存在
在test目录下创建
echo “this is a file”>:ads.txt
我们目录中是不能看到的。
在命令行中使用 dir /r 来查看。
创建指定宿主文件的ADS数据流文件
我们在资源管理器中创建test.txt文件,内容如下:
现在来查看一下有没有ADS数据流,发现test.txt并没有,看来需要自己添加。
给test.txt文件创建ADS数据流文件
echo "append" > test.txt:ads.txt
冒号的前面是宿主文件,冒号的后面是要与宿主文件关联的数据流文件的名称
如果删除了主文件,关联的ADS文件也会删除。
文件上传漏洞中,::$DATA
可绕过的原因:
下面是我参考的一些文章:
NTFS ADS(备用数据流)文件、文件夹的ADS查看与创建