【发布时间】:2025-12-05 21:45:01
【问题描述】:
只是想看看是否有人可以进一步解释。
在 microsoft.com 上的 support article 829743 中,他们说:
如果关闭视图状态 MAC 功能,然后将视图状态用于不进行 HTML 编码的控件(例如 Label 控件),攻击者可以篡改视图状态数据并将任意数据放入视图中状态。这些任意数据被解码,然后由控件在呈现发布的页面时使用。因此,除非您努力阻止攻击,否则攻击者可以将脚本注入应用程序。例如,攻击者可以解码数据,将脚本注入到标签控件所在的数据中,然后从网站链接到它。任何单击该链接的人都将成为脚本注入攻击的受害者,该攻击可能会窃取他们的身份验证 cookie 或会话 ID。该脚本还可以让攻击者更改使用视图状态的控件的状态数据,从而可能发生特定于应用程序的攻击。
这对我来说毫无意义。为什么标签控件或任何其他从不更改且不与 http 请求数据交互的静态控件需要视图状态?我认为只有表单控件会使用视图状态。有什么我想念的吗?如果标签控件使用视图状态,那就搞砸了,恕我直言。只是寻找澄清,如果有人可以阐明。也许还不够晚,或者我还没有喝足够的啤酒。谢谢!
【问题讨论】: