首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >viewstate何时停止CSRF,何时失败?

viewstate何时停止CSRF,何时失败?
EN

Stack Overflow用户
提问于 2012-07-23 03:08:19
回答 1查看 2.9K关注 0票数 1

在什么情况下,在请求中拥有视图状态可以防止CSRF攻击?This exploit声称,即使请求中存在视图状态,它仍然容易受到CSRF的攻击。然而,利用漏洞并不能解释为什么会出现这种情况。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-23 04:43:20

视图状态是一种跨回发保持视图状态(即控件的属性值)的方法。如果攻击者可以猜测或伪造此状态,则攻击者也能够伪造可信的跨站点请求。

mentioned case中,似乎攻击实际上需要一个跨站点脚本漏洞来利用CSRF:

通过XSS和CSRF的组合,通过将snmpd.conf文件配置为指向攻击者控制的JavaScript文件,可以将用户添加到web应用程序:

系统联系人

因此,在目标源中执行利用漏洞代码后,这种请求伪造攻击就不再是“跨站点”攻击了。

除此之外,由于视图状态在某些情况下是可预测的,因此不能防止CSRF攻击,供应商在视图状态机制中添加了一些不可预测的信息。在ASP.NET中,这被称为 property,它基本上是每个用户的私钥,用于为视图状态的MAC计算加盐。

但正如漏洞描述所说,他们似乎已经在使用这样的保护措施:

…尽管NPM使用了VIEWSTATE保护,但它也容易受到CSRF的攻击。

因此,这再一次是一个跨站点脚本漏洞,而不是一个跨站点请求伪造漏洞。因为如果您已经能够在站点内执行JavaScript代码,那么您就已经完全控制了站点。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11603202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档