我现在正在学习 ASP.NET,我对 __VIEWSTATE 和 __EVENTVALIDATION 有点困惑。
是否可以读取这两项的值以了解应用程序的内部结构并可能对其进行操作。例如。人们写道,__VIEWSTATE 包含有关未通过 POSTBACK 发回的元素属性的信息,例如标签。难道不能操纵应用中标签的值来使其显示错误信息吗?
是否可以将 __VIEWSTATE 的值更改为更大的值,以便在将其回传到服务器时增加解压缩和/或解密信息的严重开销,从而基本上造成 DDOS?
最佳答案
是的,可以读取 View 状态的值。它是 base64 编码的,这并不意味着它是加密的,因此要读取它的值,您需要做的就是将它从 base64 转换为 UTF-8,您将能够读取它的内容。 Try it out here for yourself列出了每个控件及其几个属性。关于操纵内容,这是可能的,但很困难,因为内容在服务器端处理之前已经过验证。
是的,如果您的站点成为攻击目标并且发送了大量带有大型 View 状态的大型请求,那么它会对服务器产生相应的影响。
请看以下内容:
关于c# - __VIEWSTATE 和 __EVENTVALIDATION 是否可以用于研究以破坏网络应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5243095/