• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

ASP.NET 验证控件安全隐患

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 28次 | 进入软件测试论坛讨论

领测软件测试网 本文就是给过分相信,ms asp.net 验证控件的,和 js 验证的朋友的一个忠告!请不要用本方法去黑人。

ASp.net 的全部客户端验证控制都是放在一个:

%SystemDrive%\Inetpub\wwwroot\aspnet_client\system_web\1_1_4322

目录下的叫 WebUIValidation.js 的js 里最后的 11_1_4322目录是版本号不同的 .NET 环境这个也不同.

IE 下载文件的机制是 , 如果服务器文件没有改变就不会重新下载,也就是说如果在缓存通过某种方法修改文件而且大小没有改变的话就可以破解开 js 文件的客户端限制,应为asp.NET 的这个 WebUIValidation.js 是不会经常更新的(根本就不更新)



1、到你的 ie 缓存目录 [Internet属性\常规\设置按钮] 可以看到

2、把里面的一个叫 Content.IE5 的目录下的全部目录清除

3、访问你要测试的aspx页(上面一定要有验证控件的那种)

4、看到网页后好了 可以在 Content.IE5 搜索 WebUIValidation[1].js(一般都叫这个名字)

5、拿什么打开都行、找 function ValidatorCommonOnSubmit() 函数

event.returnValue = !Page_BlockSubmit;

event.returnValue = true;;;;;;;;;;;;;;
大小不变就行 (-:

6、保存在打开刚才那个测试页,点一下提交。




呵呵验证的文本已经出来了但是仍然提交到了服务器看 ie 下面的进度条就会看出来,你花了半天写的“正则表达式”在短短几十秒就 over 了,哭吧。如果你在服务端没有验证的化就很容易将非法数据保存到服务器。

个人以为 ms 的验证控件,就是为了验证用户数据节省用户的时间(MS 也没说这东西安全是吧)但却很容易给初学者一个安全的假想、因为现在有很多用 asp.net 的朋友根部一点不懂 js 确切的说还有可能不懂html.

呵呵这也许就是 Microsoft Visual Studio .NET 强大的功能带来的负面影响吧。

本隐患对老鸟是不会有什么的,反正我个人是不相信 js 脚本验证数据的(包括你自己写的),在客户端验证本来也不可能安全无论如何也要在服务端验证一下。也多写不了多少代码。

测试环境 :Win2000, Microsoft ? .NET Framework 1.1 版

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网