| 论坛登陆 注册 | 教程 笑话 影视 投稿 |
![]() |
|
||||||||||||||||||||||||||||||||||||||||
利用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 不可预测,会超时失效,并且对于每个用户都是不同的。 以下是一些在您的所有页中都必不可少的代码:
上一篇:ASP.NET中如何防范SQL注入式攻击 下一篇:没有了 |
||
| 【关闭窗口】【技术交流】【收藏此页】 |
|
| 评论 | |
设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
|
| Copyright © 2003-2006 xker.com All rights reserved.小新技术网 合作广告QQ:12231446 | |
|
|
| 本页浏览次数: |