如何绕过.net中客户端验证控件的验证

来源:互联网 发布:appserv改端口 编辑:程序博客网 时间:2024/05/01 10:48

在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 了。如果你在服务端没有验证的化就很容易将非法数据保存到服务器。在客户端验证本来也不可能安全无论如何也要在服务端验证一下。 

by pine

原创粉丝点击