CMD下的信息泄露bug

类别:编程语言 点击:0 评论:0 推荐:
在测试时,无意间发现一个小秘密,就是当你按下ctrl+I键时,就会显示当前的系统目录或文件,比如你C盘根目录按下ctrl+I键时,就
会显示boot.ini文件,假如没有boot.ini文件,就会显autoexec.bat这个文件,如果在按ctrl+I键时前,打开过其它的文件,显示的是这个目
录首个被打开的文件,而不是系统文件。值得注意的是ctrl+I不支持中文和E文文件名,如果你打开的首个文件包含有中文或E文,ctrl+I是不
会显示出来的,它只能记忆以纯阿拉伯数字命名的文件名,从这里可以判断,ctrl+I显示文件是有优先等级的。但是如果切换到系统内核目录
%windir%里,按ctrl+I是不会显示首个被打开的文件,优先级别也随之变成了系统文件或目录了。
     我们再来再切换个分区,来到D盘,随便建立个系统目录,比如:Favorites,你再按ctrl+I时,就显示出来了,回车当然是打不开它的了,
因为它是目录嘛,呵呵,前面要加cd命令的。如果在一个普通目录里有如下两个文件夹Ab和Ba,优先显示的是Ab,因为它是以字母顺序的前后
作为优先级别的。继续测试,我们把Ab文件夹和Ba文件夹设置为隐藏只读属,刷新后,现在什么也看不到了,切换到cmd,进入要测试的目录,
按ctrl+I,隐藏的Ab文件夹又显示出来了……以下我把一般情况下ctrl+I显示文件目录的优先级别简单的整理一下列了出来:
首个被打开的文件(%windir%目录除外)
          |
      系统文件
          |
     系统次要文件
          |
      系统目录
          |
       普通目录
          |
    隐藏文件或目录
     当然,ctrl+I也不止这一个功能,它还有类似F7键的记忆功能,比如说,你在C盘根目录打开过一个名为1.txt的文件,当你再在cmd下按
ctrl+I时,这时它显示的不是系统文件,而是你曾经在这个目录打开的第一个文件,遗憾的是,ctrl+I只能记住每一个目录被打开的第一个文
件,也就是说你再去打开其它的文件,按ctrl+I时显示的也还是第一个,而不是第二个或全部的。ctrl+I和F7键的记忆功能不一样的地方就是当
关闭cmd后,F7的记忆功能也就随之被清洗了,而ctrl+I却不一样,即使你关闭掉cmd,再次启动cmd后,按下ctrl+I时,它的记忆功能还是存在
。由此引发的一个问题是,当你离开电脑未经采取任何防范措施时,一些别有用心的人便可以利用此漏洞对你的各个目录进行查看,至于你是
否禁止了"显示最近打开的文档",也是形同虚设的了,如果你的某些目录或文件正好撞上了这个漏洞,嘿嘿……漏洞危害性虽然不太大,但对
于在办公场所的用户来说,还是不能不值得防范的,防范也很简单,就不用我在这里废话了吧?
漏洞通过测试系统:
Windows Server 2003 Enterprise Editon
但据我推测,cmd在其它操作平台的各个版本应该一样存在此bug,由于条件所和本人的技术限制,我不能一一测试并深入研究,有条件的网友
不妨去测试研究一下。

本文地址:http://com.8s8s.com/it/it25746.htm