c# - __VIEWSTATE 和 __EVENTVALIDATION 是否可以用于研究以破坏网络应用程序?

标签 c# asp.net viewstate

我现在正在学习 ASP.NET,我对 __VIEWSTATE 和 __EVENTVALIDATION 有点困惑。

  1. 是否可以读取这两项的值以了解应用程序的内部结构并可能对其进行操作。例如。人们写道,__VIEWSTATE 包含有关未通过 POSTBACK 发回的元素属性的信息,例如标签。难道不能操纵应用中标签的值来使其显示错误信息吗?

  2. 是否可以将 __VIEWSTATE 的值更改为更大的值,以便在将其回传到服务器时增加解压缩和/或解密信息的严重开销,从而基本上造成 DDOS?

最佳答案

  1. 是的,可以读取 View 状态的值。它是 base64 编码的,这并不意味着它是加密的,因此要读取它的值,您需要做的就是将它从 base64 转换为 UTF-8,您将能够读取它的内容。 Try it out here for yourself列出了每个控件及其几个属性。关于操纵内容,这是可能的,但很困难,因为内容在服务器端处理之前已经过验证。

  2. 是的,如果您的站点成为攻击目标并且发送了大量带有大型 View 状态的大型请求,那么它会对服务器产生相应的影响。

请看以下内容:

关于c# - __VIEWSTATE 和 __EVENTVALIDATION 是否可以用于研究以破坏网络应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5243095/

相关文章:

c# - 将二进制字段绑定(bind)到 ASP.NET DataGrid 导致错误

internet-explorer - 此页面的状态信息无效,可能已损坏

c# - .NET 中的动态控件问题

c# - 如何使用范围数据注释属性指定最小但没有最大小数?

c# - 解析邮件地址的正则表达式

c# - Office 365 任务 API - 在 web.config C# 中使用固定用户凭据访问 api

asp.net - ViewState 可接受的大小是多少

C# - 未找到数据源名称且未指定默认驱动程序异常错误

c# - 即使在输入有效凭据后,Windows 身份验证弹出窗口仍会继续出现

c# - 执行命令 C# 不工作