• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> WEB开发 >> .NET 开发 >> 详细内容
 

推荐文章

 
 

热点文章

  • FckEditor远程图片下载插件
  • TFS(Team Foundation Server)使用经验
  • IIS过滤器实现.NET程序不破解DLL替换字符串一法
  • 为ASP.NET封装的SQL数据库访问类
  • ASP.NET2.0中文验证码的实现
  • Url地址重写,利用HttpHander手工编译页面并按需生成静..
  • ASP.NET学习笔记一——ASP和ASP.NET比较
  • 使用HtmlInputHidden 控件在本页面保持状态和跨页面传..
  • ASP.Net发邮件
  • Silverlight 2.0中文学习资源集萃
  • WinForm中使用XtraGrid控件,实现在界面中动态修改列显..
  • 解析ASP.NET木马文件操作
 
 

相关文章

  • ASP.NET 2.0的开源论坛YetAnotherForum 1.9.0
  • ASP.NET 2.0当中的Call Back机制
  • ASP.NET AJAX中的非同步PageMethod调用
  • 深入理解 ASP.NET 动态控件 (Part 6 - 模板控件)
  • 深入理解 ASP.NET 动态控件 (Part 5 - 编译实验)
  • 深入理解 ASP.NET 动态控件 (Part 4 - 解决问题)
  • 深入理解 ASP.NET 动态控件 (Part 3 - 页面生命周期)
  • 深入理解 ASP.NET 与客户端缓存 (Part 2 - ASP.NET 支..
  • 深入理解 ASP.NET 与客户端缓存 (Part 1 - HTTP 协议)
  • ASP.Net发邮件
  • asp.net datagrid实现多层表头
  • ASP.Net状态管理
 
 

百度搜索

 
 

解析ASP.NET木马文件操作

  • 阅览次数:
  • 文章来源: CodePub整理
  • 原文作者:
  • 整理日期: 2008-05-27
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

要编写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

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)-1
lblResponse.text+=arrstr(i)
next
objreader.close

用第二种方法readline时,此时我们可以配合peek()使用,peek()方法判断是否到了流结尾,注意:peek()方法获取下一个字符,但并不将其返回。
我们可以用一个Web服务器控件label(id="lblResponse")来显示获取的数据。
Dim objreader as new StreamReader(server.mappath(“test.aspx”))
while objreader.peek() > -1
lblResponse.text+=server.HTMLEncode(objreader.ReadLine) & "
"
end while
objreader.close
第三种方法最简单易用:
Dim objreader as new StreamReader(server.mappath(“test.aspx”))
lblResponse.text+=server.HTMLEncode(objreader.ReadtoEnd)
objreader.close

4. 轻轻松松写文件
在Asp.net中,主要由StreamWriter的方法实现。
可以这样定义一个StreamWriter
dim 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.测试。

上一篇:PHP使用zlib扩展实现页面GZIP压缩输出
下一篇:构建支持Master/Slave读写分离的数据库操作类
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号