zoukankan      html  css  js  c++  java
  • windows特殊文件或文件夹

    考了很多文章,搜集了很多资料整理而成。
    好的用途可以用来隐藏个人资料,防止误删,病毒免疫等等。
    至于坏的方面,当然也可用来隐藏木马等等,就看你怎么用了。
    还有一个没有搞明白,资料上也没找到,请知道的指点一下,
    名称里含有""的文件或文件夹如何建立和删除。


    下面进入正文,首先介绍几个基本的操作和dos命令
    (1)如何进入命令行窗口:,
           开始---运行,或者win+R,打开运行窗口,之后输入cmd回车;
    (2)相关dos命令
           /?              任何一个dos命令后加该参数表示查看帮助,最常用的命令!!
           md              建立文件夹;可以建立多层目录下的文件夹,比如 mkdir acd 。
           copy          复制文件
           xcopy          复制文件和目录树
           rd              删除文件夹,参数/s表示删除目录树,即包括子文件夹和文件;/q表示不用确认
           del              删除文件,可以使用通配符。/f强制删除只读文件,/q表示不用确认
             在删除命令后面跟上.参数就可以避免Windows检查文件名的合法性,
                 因此可以删除含有Windows保留字或非法名字的文件。 
           dir /X           显示为非 8dot3 文件名产生的短名称。
    (3)以下均假设当前目录为在D盘根目录,在命令行窗口输入D:回车即可
    (4)UNC 路径格式,就是网上邻居的路径格式,比如d: emp的UNC 路径为\.d: emp


    1,利用Windows以设备命名文件夹拒绝服务漏洞
    新建以下这些名字的文件(或文件夹):aux、com1、com2、prn、con、nul,系统会提示无法建立。
    我们可以在命令行窗口中建立,然后将文件copy进去,这样,文件打不开也删不掉。


    实现过程:
    切换到DOS命令行状态;其次在MS-DOS窗口的命令行提示符下,
    通过“cd”命令进入到要创建文件夹所在的目录,
    之后在DOS命令行下再输入字符串命令“md+设备名+”,单击回车键后,
    在指定目录下一个名称为设备名的特殊文件夹就出现了。
    考虑到设备文件夹在Windows状态下是不能被删除的,为此善于使用设备文件夹,
    我们有时能可以用它来保存一些重要的信息,以防止这些信息被他人随意删除掉。


    对于含有保留字的文件,当我们发出删除指令的时候,Windows会检查被删除的文件是否有合法的路径,如果你的文件名含有Windows认为的非法字符或保留字,那么删除就会失败。我们有3种方法可以删除这类文件:


    a)采用Linux或其他非Windows的操作系统,以Linux/Unix为例,可以使用rm命令删除.


    b)使用命令行工具的一个特殊参数解决: 
    RD. 设备名
    DEL.


    c)对于文件,如果可以使用通配符,那么也可以采用通配符解决: 
    DEL PR?.* 
    DEL LPT?.*


    d)要删除d盘下的 aux 文件夹,可在命令提示符下执行:rd /s \.d:aux。
    再比如要删除d盘temp文件夹下的 nul.exe 文件,在命令提示符下执行:del \.d: emp ul.exe 即可。




    2,利用WINDOWS命名漏洞命名的文件, 比如test.,即文件最后有一个点.
             建立这个文件的话可以用 md test..  
             也可以新建一个test,然后用WINRAR改test为test..
             这个文件夹双击无法打开,但是可以在运行窗口输入 d: est.. 进入,进入后可进行文件的各项操作。
             删除的话用             rd /s /q test.. 
             如果test.是文件的名字,那么删除要用         del /f /q test..


    3.名为空的文件夹.这里所说的空名文件夹,主要指的是文件夹名称为空白,具体地说就是文件夹的名称为空格字符,这类特殊文件夹不仅可以在MS-DOS窗口中被正常访问,而且还可以在Windows窗口中被访问到,甚至我们能借助WinZip之类的压缩工具来对其进行压缩或解压缩操作。
      
           (1)建立使用 md " est "
           这时可以看到D盘根目录下的test文件夹下多了一个没有名字的文件夹,双击可以打开,也可以在运行中输入D: est
           可以在里面建立文件或者删除文件。 
           删除用       rd "D: est "


    (2)切换到DOS命令行状态;在MS-DOS窗口的命令行提示符下,
    通过“cd”命令进入到要创建空白文件夹所在的目录,
    之后在DOS命令行下再输入字符串命令“md+空格”,紧接着按下键盘上的Alt功能键,同时在数字小键盘上直接输入数字“255”,这样一来空格字符的ASCII码就会自动出现在“md”命令之后,单击回车键后,在指定目录下一个名称为空白的特殊文件夹就出现了。善于使用空白文件夹,我们有时能将一些重要的隐私信息隐藏其中,从而实现保护隐私安全的目的。




    4.长文件名或非法字符导致文件或文件夹无法删除
    可以暂时把路径中某些目录改名字,或在命令行模式下使用8.3格式。
    例如,“Linux Faq”的目录变成8.3就是“LINUXF~1”了,通过“Linuxf~1”就能进入目录了,
    此后就可以使用Del命令删除指定文件了。如果需要删除目录,则使用Rd命令。  
    也可以进入要删除文件的目录后输入“dir>del.bat”,把当前目录的文件列表输入到批处理命令文件“del.bat”中,
    然后修改该批命令文件,仅保留文件或目录名,并在文件或者目录名称前增加“del ”或者“rd”,运行批处理命令即可删除。 
    (经常有rar文件无法解压,改个文件名后就可以了)


    还有一种方法,就是利用windows目录长度不能超过256字节的特性,可以利用subst命令将
    一长度达到256字节的目录映射为虚拟盘:"subst b: testtesttesttesttesttesttes…………………………"。
    然后在虚拟出来的b:中建立一个长文件名目录"testtesttesttestte…………",然后将一可执行文件copy到该
    路径下,去掉虚拟盘符映射:"subst b: /d",这样用资源管理器是无法进入该目录的,杀毒软件也无法扫描
    该路径下的文件,而且在资源管理器中是无法删除该目录的,但可以使用8.3文件格式来运行该可执行文件:
    "c: estte~1 estte~1 est.exe",从而达到隐藏的目的。


    5.改文件名称,系统自身带有很多的CLSID。用的就是它了.
    eg:要隐藏的文件名为 a,则把它改成 a.{CLSID} 这里的CLSID有很多,如下只是一部分:


    文件名.{00020810-0000-0000-C000-000000000046}       excel文档
    文件名.{00020900-0000-0000-C000-000000000046}         word
    文件名.{5ef4af3a-f726-11d0-b8a2-00c04fc309a4}       回收站(满)
    这3个只是文件夹图标变了,打开后还是隐藏不了,原形毕露:


    文件名.{2227a280-3aea-1069-A2de-08002b30309d}       打印机
    文件名.{21ec2020-3aea-1069-A2dd-08002b30309d}         控制面板
    文件名.{208d2c60-3aea-1069-A2d7-08002b30309d}       网上邻居
    文件名.{992cffa0-F557-101a-88ec-00dd010ccc48}         拨号上网
    文件名.{1a9ba3a0-143a-11cf-8350-444553540000}         收藏夹
    比较特别,双击打不开,用右键盘第2个"打开"就行了...


    文件名.{0CD7A5C0-9F37-11CE-AE65-08002B2E1262}         该名之后目录为空
    文件名.{645FF040-5081-101B-9F08-00AA002F954E}       回收站(空)
    文件名.{20D04FE0-3AEA-1069-A2D8-08002B30309D}       我的电脑
    这一办法也是比较普通的...


    或者在需要隐藏的文件夹里建立desktop.ini文件也可以达到效果,
    把这个批处理保存为.bat文件,在要隐藏的文件里执行就可以了:


    @echo off
    echo [.ShellClassInfo]>desktop.ini
    echo CLSID={645FF040-5081-101B-9F08-00AA002F954E}>>desktop.ini
    REM 改进后有些地方如有空格的地方也可以用所以加上"号
    attrib +s +h "%cd%"
    rem 其实只要将上面加上隐藏就可以了不用将下面这行隐藏
    attrib +s +h desktop.ini
    echo cacls %cd% /t /c /e /g %username%:f>..恢复隐藏.bat
    echo attrib -s -h %cd%>>..恢复隐藏.bat
    cacls %cd% /t /c /e /p %username%:n


    原理就是同上面的重命名差不多...




    ======================================================
    一个具体的例子,引用别人的:


    最近使用了一款名叫 E-文件夹加密大师,网上有强人用winrar也把它破了,在这就不说了
    该软件利用的是windows的一个文件名漏洞,即windows不能删除com1.……和以“.”最后等命名的文件夹(这种文件夹名字只有在dos 模式才能创建,而且不是常规方式md c:xxx..             注意最后的""。com1文件夹的创建方法,"md \.c:com1",删除输入"rd \.c:com1";)。即,这哪是加密         只是简单得把“加密”的文件或文件夹放到以着种名字命名的文件夹下面


    不小心把加密数据删除掉了,数据没了好办,用finaldata打开那个假的回收站就有了。可是


    留下个隐藏的Th…….db文件夹,打开后是-sys文件夹-然后是com1.{21ec2020-3aea-1069-a2dd-08002b30309d}文件夹,该文件夹用的是控制面板的图标。(因为{}中的windows中的地址


    打印机.{2227A280-3AEA-1069-A2DE-08002B30309D}
    控制面板.{21EC2020-3AEA-1069-A2DD-08002B30309D}
    我的电脑.{20D04FE0-3AEA-1069-A2D8-08002B30309D}
    回收站.{645FF040-5081-101B-9F08-00AA002F954E}


    于是双击该文件夹便打开了控制面板,但地址栏中显示的是该com1.{21ec2020-3aea-1069-a2dd-08002b30309d}文件夹的地址。


    1、 com1.{21ec2020-3aea-1069-a2dd-08002b30309d}这个文件夹是关键,利用了一个WINDOWS的漏洞,即使用AUX,COM1,COM2,PRN,CON,NUL为文件名建立的文件(夹),即不能打开也不能删除。所以程序会将待加密的文件复制到此文件夹中,使其无法访问和删除,此其一;
    2、在最后一级目录中有一个文件录名称为《 XXX.》,请注意文件名后的《.》,当建立的文件夹名称包含这个小点后,同样,该文件录即不能打开,也不能删除,LZ把它放在这里应该是为了保险起见,或者出于其它目的,俺还不太确定,此其二;
    3、 com1.{21ec2020-3aea-1069-a2dd-08002b30309d}里{}内的ID为控制面板,RECYCLED为程序自动建立的文件夹,中有desktop.ini文件以及{645FF040-5081-XXXX-9F08-00AA002F954E}文件夹,其作用都是为了将文件录伪装成回收站,此其三。


    知道了原理只能算是半途,因为删除会报错windows中删除会出现地址不存在的错误


    而DOS下 rd       d: XXXcom1.{21ec2020-3aea-1069-a2dd-08002b30309d} 也不行


    然后是rd       D:XXX 目录非空,不行。接着用 rd /s D:XXX       提示是否删除,输入Y,回车。


    报错,程序正被使用……。这步就是关键了打开任务管理器 ,结束explorer.exe进程!


    再次Y,回车。然后通过任务管理器运行 explorer,又见到桌面了,打开D盘看,那个文件夹不见了


    如果recycled里边也有可以接着 rd /s D: ecycled 和recycle 回收站没了下次打开自己会生成 !

    原文连接:http://blog.csdn.net/jiankangshiye/article/details/6800305。

  • 相关阅读:
    关于input输入框placeholder属性的样式问题
    关于input输入框checkbox类型的样式问题
    三层构架
    盒模型
    line height
    sql
    继承
    对象
    正则表达式
    事件
  • 原文地址:https://www.cnblogs.com/daysme/p/6610181.html
Copyright © 2011-2022 走看看