科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道利用Windows漏洞创建带“\”符号文件夹

利用Windows漏洞创建带“\”符号文件夹

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

大家都知道在Windows中“”符号是路径的分隔符号,比如“C:Windows”的意思就是C分区中的Windows文件夹,“C:WindowsSystem.exe”的意思就是C分区中的Windows文件夹中的System.exe文件。
  • 评论
  • 分享微博
  • 分享邮件

  大家都知道在Windows中“”符号是路径的分隔符号,比如“C:Windows”的意思就是C分区中的Windows文件夹,“C:WindowsSystem.exe”的意思就是C分区中的Windows文件夹中的System.exe文件,好继续我们假设一下:

  如果文件名中有“”符号会怎么样呢?假如“S”是一个文件夹的名字,这个文件夹位于:“F:”,他的路径就是“F:S”,当我们试图访问的时候Windows会错误的认为我们要打开的文件是C分区的S文件夹,这样Windows就无法打开并且会返回一个错误,因为以上的路径并不存在。

  也许你现在正在尝试创建“S”文件,但是Windows会提示你:“”符号是不能作为文件、文件夹的名字的。看来Windows还是早已想到这一点了的。我们继续进行,就不信不能建立包含“”符号的文件。

  现在打开你的电脑,我们要做一些很有趣的尝试。进入Windows后点击:开始>运行,然后输入“cmd”并回车(如果是Win98请输入“COMMAND”),这时你会看到Windows的命令控制台,我们就是要利用它完成我们剩下的测试,以下包含了很多命令其中{}中的字符是我的注释:

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
F:Test>mkdir s 
F:Test>mkdir ss1 
F:Test>mkdir s. 
子目录或文件 s. 已经存在。
F:Test>mkdir s.. 
F:Test>mkdir s...

  为什么会这样?我们先说你看到的这个“S.”文件夹,他即不能打开也不能删除,不能打开是因为他的实际路径是“F:Tests..”(我们自己创建的所以可以确定他的实际路径)但是在Windows资源管理器中名字变成了“S.”也就是说当你试图打开它的时候Windows实际上尝试打开“F:Tests.”当然是不能打开的,文件并不存在,所以Windows会报错。不能删除也是因为这个,Windows把一个实际存在的文件路径错误的解析为一个不存在的路径,并进行操作当然是无法完成的。

  该说“S..”这个文件了,这个文件可以打开,但是却无法删除。等等……打开?你以为Windows真的是打开了我们创建的“s...”文件了吗?我们做下面的试验你就明白了。还是老规矩{}是我的注释方便大家理解:

  Microsoft Windows XP[版本 5.1.2600]

  (C) 版权所有 1985-2001 Microsoft Corp.

  F:Test>echo 1 >Txt1.txt 

  F:Test>copy Txt1.txt s.. 

  已复制    1 个文件。

  F:Test>echo 2 >Txt2.txt 

  F:Test>copy Txt2.txt s.. 

  已复制    1 个文件。

  F:Test>

  现在回到你的资源管理器打开“S..”文件夹,你看到了什么?“Txt1.txt”文件怎么会在这里?我们刚刚的确复制到了“S.”呀?难道我们打开“S..”文件夹实际上就是打开了“S.”?不错事实就是这样。其实如果你再创建一个“S”文件夹的话“S.”就能打开了,但是实际上打开的是“S”。

  “我该怎么删除它呢?”,删除它也不算很难,但是常规的方法是绝对删不掉的。有两种方法可供选择:1、进入DOS删除(不推荐)。2、还是进入命令提示符然后输入“rmdir 目录名”,目录名就是你创建的时候的名字,如果忘记了可以先在资源管理器查看,然后加上“.”。如果提示“文件夹不是空的”应该加上“/s”参数。删除实例:

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章