黑基网 首页 学院 电脑技术 查看内容

解析Asp.net木马文件操作

2006-6-10 00:05| 投稿: computer

摘要:     要编写Asp.net木马,首先要导入名称空间System.IO。名称空间System.IO提供了大量文件和文件夹的操作功能,包括读写文件、创建和删除目录以及察看文...
    要编写Asp.net木马,首先要导入名称空间System.IO。名称空间System.IO提供了大量文件和文件夹的操作功能,包括读写文件、创建和删除目录以及察看文件和目录的属性。1. 浅谈取得文件和文件夹的信息详细说一下attributes集合,它提供了文件和文件夹的额外信息,如是否只读的或隐藏的。文件和目录的属性属性 数字值ReadOnly(只读) 1Hidden(隐藏) 2System(系统) 4Directory(目录) 16Archive(存档) 32Encrypted(加密) 64Normal(普通) 128Tempory(临时) 256SparseFile(稀疏文件) 512Compressed(压缩) 2048Offline(脱机) 4096NotContentIndexed(非内容索引) 8192 要改变文件的属性,只需将这些值类加。例如,要将目录设置为隐藏+系统+加密+压缩,可以使用下面的语句:f.attributes=21382138即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 thenresponse.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.directorylabel1.text+="目录信息:目录名:"& dir.name &"目录全名:" & dir.fullname & "创建时间:" & dir.CreationTime & "最后访问时间:" & dir.lastaccesstime & "最后修改时间:" & dir.lastwritetime & "父母录:" & dir.parent.name &"目录属性:" & dir.attributes & " "end sub 2. 打开文件的各种手法Asp.net允许以二进制和Unicode模式打开文件,由于二进制方法比较少用,下面主要介绍用Unicode打开文件的各种模式。 File对象的open方法方法 描述Open() 按照提供的参数打开文件,返回一个stream流OpenRead() 返回文件的一个只读流OpenText() 返回一个SteamReader对象OpenWrite() 返回文件的一个读写流其中,open()方法接受3个参数,从做到右依次为filemode(打开方式),fileaccess(访问权限),fileshare(处理共享)FileMode值模式 说明Append(仅适用write访问权限) 若文件存在,打开若文件不存在,创建一个新文件Create 创建新文件或者覆盖已经存在的文件CreateNew 创建新文件Open 打开已存在的文件Openorcreate 若文件存在,打开若文件不存在,创建一个新文件Truncate 打开已存在的文件并清空原来所有的内容 FileAccess的值权限 说明Read 只读Write 只写ReadWrite 读写FileShare的值权限 说明Read 只读Write 只写ReadWrite 读写None 文件独占,其他进程不能访问该文件 3. 怎样读取文件数据在Asp.net中,主要由SteamReader的方法实现。 SteamReader取得反馈信息的方法有三种:read:一次读取一个字符readline:读取字符直到行尾readtoend:读取字符直到流结尾第一中方法read返回的是Ascii码值,我们可以string.chr(objreader.read)来转化为实际值还可以从流中返回指定数目的字符数, objreader.read(char(),start,end)下面这个例子是返回三十个字符。Dim objreader as new StreamReader(server.mappath(“test.aspx”))Dim arrstr() as char=new char(30)Objreader.read(arrstr,0,30)For I=0 to ubound(arrstr)-1lblResponse.text+=arrstr(i)nextobjreader.close 用第二种方法readline时,此时我们可以配合peek()使用,peek()方法判断是否到了流结尾,注意:peek()方法获取下一个字符,但并不将其返回。我们可以用一个Web服务器控件label(id="lblResponse")来显示获取的数据。Dim objreader as new StreamReader(server.mappath(“test.aspx”))while objreader.peek() > -1lblResponse.text+=server.HTMLEncode(objreader.ReadLine) & ""end whileobjreader.close第三种方法最简单易用:Dim objreader as new StreamReader(server.mappath(“test.aspx”))lblResponse.text+=server.HTMLEncode(objreader.ReadtoEnd)objreader.close 4. 轻轻松松写文件在Asp.net中,主要由StreamWriter的方法实现。可以这样定义一个StreamWriterdim objwriter as new StreamWriter(filestream,append)注意append这个参数 ,它是一个布尔型Append值Flase 若文件存在,原文件被覆盖若文件不存在,创建该文件True 追加到文件尾部Steamwriter写数据的方法比StreamReader少,有write()和writeline()两种 Dim objwriter as new StreamWriter(server.mappath(“test.aspx”),true)Objwriter.writeline() ‘写入了一个换行符Objwriter.writeline(“这将写入一行数据”)Objwrite.write(“写入数据,但不带换行符”) 5.文件和目录的复制、创建、删除、移动文件和目录的复制、创建、删除、移动方法 说明Directory.CreateDirectories 创建指定的所有目录Directory.CreateDirectory 创建一个目录Directory.Delete 删除一个目录File.Copy 复制文件,overwrite指定是否覆盖已有文件File.Create 创建新文件File.CreateText 创建一个StreamWriter对象File.Delete 删除一个文件File.ChangeExtension 修改扩展名,将extension为nothing将删除扩展名,扩展名中必须有“.”File.HasExtension 判断是否有扩展名,如果有,返回真值Move 移动文件或目录6.测试。  
小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论


新出炉

返回顶部