论坛登陆 注册 教程 笑话 影视 投稿
首页 | 页界资讯 | 网络应用 | 软件应用 | 组网技术 | 网络原理 | 聊天通讯 | 网管知识 | 帮助
笑话 | 操作系统 | 注 册 表 | 编程开发 | 数 据 库 | 媒体动画 | 网页设计 | 图形图象 | 地图
论坛 | 网络安全 | 安全防范 | 服 务 器 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
影院 | 教育频道 | 特色专题 | 精文荟萃 | 注 册 码 | 论坛社区 | 网站地图 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>编程开发>>net专区>>正文

利用ASP.NET 的内置功能抵御 Web 攻击

www.xker.com 作者:Dino Esposito&Wintellect 来源:微软 加入日期:2006-4-7 8:42:57

【问题提问、论坛交流】

一次单击攻击要想得手,黑客必须能够访问该页此时,有远见的黑客会在本地保存该页这样,他/她就可以访问 _VIEWSTATE 域并使用该域,用旧的视图状态和其他域中的恶意值创建请求问题是,这能行吗?

为什么不能?如果攻击者可以提供有效的身份验证 cookie,黑客就可以进入,请求将被照常处理服务器上根本不会检查视图状态内容(当 EnableViewStataMac 为 off 时),或者只会检查是否被篡改过默认情况下,试图状态中没有机制可以将该内容与特定的用户关联起来攻击者可以轻松地重用所获取的视图状态,冒充另一个用户合法地访问该页,以生成虚假请求这正是 ViewStateUserKey 介入的地方

如果选择准确,该属性可以将用户特定的信息添加到视图状态处理请求时,ASP.NET 会从视图状态中提取秘钥,并将其与正在运行的页的 ViewStateUserKey 进行比较如果两者匹配,请求将被认为是合法的;否则将引发异常对于该属性,什么值是有效的?

为所有用户将 ViewStateUserKey 设置为常量字符串,相当于将它保留为空您必须将它设置为对各个用户都不同的值 — 用户 ID,会话 ID 更好些由于一些技术和社会原因,会话 ID 更为合适,因为会话 ID 不可预测,会超时失效,并且对于每个用户都是不同的

以下是一些在您的所有页中都必不可少的代码:

void Page_Init (object sender, EventArgs e) {

ViewStateUserKey = Session.SessionID;

:

}

为了避免重复编写这些代码,您可以将它们固定在从 Page 派生的类的 OnInit 虚拟方法中(请注意,您必须在 Page.Init 事件中设置此属性

protected override OnInit(EventArgs e) {

base.OnInit(e);

ViewStateUserKey = Session.SessionID;

}

总体说来,使用基 page 类始终都不失为一件好事,我在 Build Your ASP.NET Pages on a Richer Bedrock 一文中已经进行了说明如果您要了解更多有关一次单击攻击者的伎俩的信息,可以在 aspnetpro.com 找到一篇非常好的文章

四、Cookie 和身份验证

Cookie 之所以存在,是因为它们可以帮助开发人员达到一定目的Cookie 充当了浏览器与服务器之间的一种持续性链接特别是对于使用单次登录的应用程序来说,失窃的 cookie 正是使得攻击成为可能的罪魁祸首这对于一次单击攻击来说一点没错

要使用 Cookie,无需以编程方式显式创建和读取它们如果您使用会话状态且实现表单身份验证,您会隐式地使用 Cookie当然,ASP.NET 支持无 cookie 的会话状态,而且,ASP.NET 2.0 还引入了无 cookie 的表单身份验证因此,理论上您可以在没有 Cookie 的情况下使用这些功能我并不是说您不再必须这么做了,但事实上这正是疗法比疾病更糟的情形之一无 Cookie 的会话,实际上将会话 ID 嵌入了 URL 中,这样谁都可以看到

与使用 Cookie 有关的潜在问题有哪些?Cookie 可能被盗(即被复制到黑客的计算机)和投毒(即被填充以恶意数据)这些操作通常是即将发起的攻击的前奏如果被盗,Cookie 会“授权”外部用户以您的名义连接到应用程序(并使用受保护的页),这可能使黑客轻松地规避授权,并能够执行角色和安全设置所允许受害者执行的任何操作因此,身份验证 Cookie 通常被赋予相对较短的生存期,即 30 分钟(请注意,即使浏览器的会话完成所需的时间更长,cookie 仍会过期)发生失窃时,黑客有 30 分钟的时限来尝试攻击

本新闻共9页,当前在第3页  1  2  3  4  5  6  7  8  9  

编辑:xker.com
上一篇:ASP.NET中如何防范SQL注入式攻击
下一篇:没有了
关闭窗口】【技术交流】【收藏此页
相关文章
·ASP.NET中如何防范SQL注入式攻击·在ASP.NET中访问SQL Server·用ObjectSpaces重建IBuySpy的数据访问
·ASP.NET:访问Excel 电子表格·用ASP.NET在同一网页中显示主从关系表·ASP.NET+MySQL:强势组合
·asp.net 2.0中的URL重写以及urlMappi·ASP.NET 2.0无刷新页面新境界·在ASP.net中使用OWC绘制统计图表
·ASP.NET中Web DataGrid的使用指南·ASP.NET编程中的技巧·几个ASP.NET技巧
·使用反射将业务对象绑定到 ASP.NET 窗·检测含有中文字符串的实际长度·在ASP.Net中两种利用CSS实现多界面的
推荐文章 最新文章 热门文章
·联手杀毒软件 打造无毒迅雷下载文件
·Tomcat 配置技巧精华详解分析
·玩转系统 Window系统补丁知多少
·做好备份 硬盘数据大迁移
·中用也中看 全面打造个性化迅雷下载
·WIN2000下JSP服务器的安装
·Oracl数据库中大数据的备份
·用注册表找回常用软件序列号
·搜索引擎优化的最高境界是忘记搜索引
·全面解析系统剪贴功能资源占用
·在ASP.NET中防止注入攻击
·仅用css编写无限分级弹出菜单
·完整图解Tomcat 5.0.28 安装笔记
·用Java快速开发Linux GUI应用
·妙用Windows磁盘配额 让黑客无从下手
·利用ASP.NET 的内置功能抵御 Web 攻击
·ASP.NET中如何防范SQL注入式攻击
·在ASP.NET中访问SQL Server
·微软承认修改IE失误 将提供兼容补丁
·联手杀毒软件 打造无毒迅雷下载文件
·Tomcat 配置技巧精华详解分析
·安全攻略:突破组策略运行限制的方法
·解读珊瑚虫CoralQQ.ini代码的秘密
·玩转系统 Window系统补丁知多少
·做好备份 硬盘数据大迁移
·Maxthon实用插件之闹钟篇
·为Windows XP设置一个隐形密码
·在多个QQ号码间共享自定义表情的技巧
·用ObjectSpaces重建IBuySpy的数据访问
·ASP.NET:访问Excel 电子表格
·个人简历表格
·免费代理IP(每日更新)
·QQ密码丢失后能做的事情:快速找回密码
·QQ收费头像免费使用的方法 
·Norton AntiVirus 2006 注册码(激活
·系统优化 专题
·WinRAR 3.51 注册码
·豪杰超级解霸V9.1正版注册码
·找回QQ密码的注意事项 
·史上最强QQ个人档案资料欣赏
·Ajax技术开发指南
·QQ空间皮肤代码
·最经典的黑客入门教材
·求职简历封皮
·ACDSee v8.0注册码
评论

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2006 xker.com All rights reserved.小新技术网 合作广告QQ:12231446
本页浏览次数: