先大概讲下,在WINDOWS的 系统 文件中,符号\是路径的 分隔符,例如C:\WINNT表示C盘下的 WINNT文件夹,而C:\WINNT\EXPLORER.EXE表示C盘WINNT文件夹中的EXPLORER.EXE文件。一般情况下文件名中是 不会出现\等符号的。不信你可以 在桌面创个 文件夹,改名为带\的文件看看,肯定保存不 了 ,那么,如果文件名中出现包含符号\会怎么样呢,其实这就是WINDOWS文件系统的 一个漏洞啦。
下面我再给 大家 讲下漏洞攻击的实现原理:
假设 M\ 是一个文件的名字,它位于C盘的根目录下,即它的路径是C:\M\.当我们试图对其进行访问时,WINDOWS会错误的 认为要 打开的文件是C盘下的M文件夹,而实际上 该文件夹是不 存在的 ,因此,WINDOWS会返回一个错误。那么要 如何创建一个M\文件夹呢?在 WINDOWS直接 操作 是 肯定 不 行,因为系统 会提示文件名不能包含V:*<>\等字符,那我们换一种方法就 可以 实现啦:
在开始---运行---CMD,回车后进入命令控制台。
然后我们 依次输入一下 命令(假设当前目录 是D:\TEST,下面()为 解说,不 用 输入)
D:\Test>mkdir M.\ 回车(结果,WINDOWS将忽略.\,试图创建文件夹M,此时提示子目录会文件M.\已经 存在)
D:\Test>mkdir M..\ 回车(结果,执行成功,在资源管理器中可 看到文件夹M.,但却无法打开和 删除)
D:\Test>mkdir M...\ 回车 (结果,执行成功,在 资源管理器中 可 看到文件夹M..,但可以 打开却 无法 删除)
你 一定很奇怪为什么会这样?先看第二个 命令,mkdir M..\此时在资源管理器上实际 是M.,也 就是 说,WINDOWS忽略了 其中的.\,那么我们打开文件夹时,WINDOWS同样会忽略其中的.,而试图打开文件夹M,实际上文件夹M是不 存在的,系统报错是 理所当然,删除也 是 如此,这里实际上是WINDOWS将一个实际存在的 路径错误的 解释为一个 不存在的路径并进行操作,这当然 无法 完成。那么 依次类推,当我们打开M..文件时,实际上打开的 是M.文件,因为该文件夹存在所以可以打开,事实上是这样吗?再做个 测试:在Test文件夹 下新建文件夹M,并向其中拷入文件EXPLORER.EXE,其命令为:
D:\Test>mkdir M 回车
D:\Test>Copy C:\winnt\Explorer.exe 回车
此时再打开文件夹M.,你看到了 什么?Explorer.exe文件怎么 会在这里 呢?不用奇怪,按照前面推论,我们在打开M.文件夹时,WINDOWS中打开的实际 是 文件夹 M,也 就是 说我们 操作M.文件夹和 操作M文件夹是 一样效果。
这就是文件系统的一个 漏洞啦,利用这个漏洞,就可以做很多事,如:但我们没 有权限访问M文件时,可以执行MKDIR M..\来创建目录 M文件夹,这样就可以绕过权限浏览其中内容,另一方面,很 多木马,很可能利用此漏洞将自身文件隐藏在 某个X..\目录下,这样用户根本不 可能发现它,就 算专业的杀毒软件也只会去 杀目录X而跳过X..\,这也 是电脑中了 木马,而杀毒软件也 查不 到的 原因,(当然,伪装不止这一种。)如果恶意的 话在 机器上创建大量..\文件。那就头疼了,忍痛格式化好了。
对于M..文件夹要怎么删除?在 命令管理器中执行Rmdir M...\就可以啦。
要怎么 防范呢 ?很遗憾的 告诉你,只能 靠自己解决。