正 文:
今天有客户网站中毒,遂从FTP下载所谓木马文件,本地运行后,生成一个com7.h.asp的文件,在图形界面下无论如何都无法删除。提示“删除文件或文件夹时出错,无法删除 com7.h : 找不到指定文件”。 其实这是利用系统保留文件名来创建无法删除的webshell。

Windows 下不能够以下面这些字样来命名文件/文件夹:
aux|prn|con|nul|com1|com2|com3|com4|com5|com6|com7|com8|com9|lpt1|lpt2|lpt3|lpt4|lpt5|lpt6|lpt7|lpt8|lpt9 但是通过cmd的copy命令即可实现:
D:\>copy piaoyi.asp \\.\D:\lpt6.piaoyi.asp 前面必须有 \\.\
这类文件无法在图形界面删除,只能在命令行下删除:
D:\>del “\\.\D:\lpt6.piaoyi.asp”
D:\>del “\\.\D:\lpt3.1.asp;.jpg”
D:\>del “\\.\D:\lpt3.1.asp;.jpg”
如果提示找不到文件错误,则可以先解除RHSA只读属性:
D:\>attrib -s -h -r “\\.\D:\lpt3.1.asp;.jpg”
D:\>del “\\.\D:\lpt3.1.asp;.jpg”
D:\>del “\\.\D:\lpt3.1.asp;.jpg”
注意:因为路径中有分号; 所以需要用双引号,否则,路径找不到。
然而在IIS中,这种文件又是可以解析成功的。Webshell中的 “不死僵尸” 原理就在这。 删除这类文件可以用下面的方法:
最简单也是最方便的,通过命令删除:
del /f /a /q \\?\%1
rd /s /q \\?\%1
rd /s /q \\?\%1
把上面的命令保存为.bat后缀名称的文件,然后把不能删除的文件或者文件夹拖到bat文件上就可以。