解析Asp.Net木马文件操作 本文主要介绍一下Asp.net木马中文件操作功能的具体实现。 (关于防Asp.Net木马及Webshell攻击的解决办法见文章ASP.NET木马及Webshell安全解决方案)
要编写Asp.net木马,首先要导入名称空间System.IO。名称空间System.IO提供了大量文件和文件夹的操作功能,包括读写文件、创建和删除目录以及察看文件和目录的属性。
1. 浅谈取得文件和文件夹的信息 详细说一下attributes集合,它提供了文件和文件夹的额外信息,如是否只读的或隐藏的。 文件和目录的属性 属性 数字值 ReadOnly(只读) 1 Hidden(隐藏) 2 System(系统) 4 Directory(目录) 16 Archive(存档) 32 Encrypted(加密) 64 Normal(普通) 128 Tempory(临时) 256 SparseFile(稀疏文件) 512 Compressed(压缩) 2048 Offline(脱机) 4096 NotContentIndexed(非内容索引) 8192
要改变文件的属性,只需将这些值类加。例如,要将目录设置为隐藏+系统+加密+压缩,可以使用下面的语句: f.attributes=2138 2138即2+4+64+2048 这些值估计新手很难记忆,我们直接用属性名称来设置,只要用或bitor来分割各属性,如: f.attributes=FileAttributes.Hidden BitOr FileAttributes.System BitOr FileAttributes. Encrypted BitOr FileAttributes. Compressed 上述代码相当于f.attributes=2138 要确定文件或者文件夹的某个属性被设置,可使用与操作符bitand这样来检测: if f.attributes bitand fileattributes.hidden >0 then response.write(“属性为隐藏!”) end if
检测函数: sub getfileinfo() dim f as new fileinfo(server.mappath(“test.aspx”)) f =new fileinfo(strf) label1.text="文件信息: 文件名称:"& f.name & " 文件路径:" & f.directoryname & " 创建时间:" & f.CreationTime & " 最后访问时间:" & f.lastaccesstime & " 最后修改时间:" & f.lastwritetime & " 文件长度:" & f.length & "bytes 文件属性:" & f.attributes & "
"
dir=f.directory label1.text+="目录信息: 目录名:"& dir.name &" 目录全名:" & dir.fullname & " 创建时间:" & dir.CreationTime & " 最后访问时间:" & dir.lastaccesstime & " 最后修改时间:" & dir.lastwritetime & " 父母录:" & dir.parent.name & " 目录属性:" & dir.attributes & "
" end sub
|