我有一個會顯示敏感信息的網站。我使用反僞造令牌等來防止POSTS中的XSRF。不過,我擔心有人能夠從GET中查看敏感信息。在.NET MVC 2中,保護通過GET發送的只讀數據的建議做法是什麼?XSRF保護GET .net mvc
1
A
回答
1
如果您確定GET
請求是隻讀的,那麼您無需擔心XSRF。它不可能使用從 XSRF竊取來自其他網站的信息,因此您無需通過令牌保護網址。實際上,在URL中使用令牌將使書籤無法使用。
話雖如此,您應該100%確定您的應用程序中沒有XSS漏洞。如果存在,攻擊者不需要爲XSRF和不可預知的令牌而煩惱。
0
POST數據的XSRF保護(使用像你說的令牌)也應該對GET數據起作用。從黑客角度來看,GET僞造要比POST僞造容易得多(首先你只發佈一個鏈接,第二個你需要指向隱藏的iframe和自動提交表單的惡意軟件網站),但是如果兩者都失敗,令牌被檢查。
例子: 張貼這樣的鏈接:
是www.domain.tld/page.aspx GET =數據&令牌= token_given_to_hacker
不應返回任何東西,或者僅僅是一個錯誤?對於那些有其他代幣的人。這樣就不會對錯誤的人採取敏感的行動。
這是xsrf,有了這個你不能竊取信息,而是讓其他人提交表單並採取行動,只有黑客知道。例如: 將電子郵件以電子郵件形式更改爲黑客的電子郵件。假設您有一個GET表單,其中包含1個字段:新郵件(爲了簡單起見)。當提交的URL看起來像這樣:
www.domain.tld/[email protected]
現在,如果一個黑客的帖子上的網址您的論壇鏈接:
www.domain.tld/[email protected]
大家誰點擊它,會得到黑客的新的電子郵件。但是,如果您在此處放置了一個令牌,並且每次都會對其進行檢查,則只會對那些在頁面請求中給出相同標記的用戶採取相應操作,在這種情況下,該鏈接僅適用於發佈該令牌的用戶,並沒有其他人。
您還可以使用密碼字段保護敏感表單,如更改電子郵件,密碼等。請注意,驗證碼在這裏幫助不大。
相關問題
- 1. GWT&XSRF保護
- 2. GWT RPC XSRF保護
- 3. angular4 angular2 - XSRF保護
- 4. Tornado的XSRF保護
- 5. 令牌認證和XSRF/XSS保護
- 6. Spring Security和AngularJS的CSRF/XSRF保護
- 7. ASP .NET MVC保護所有資源
- 8. 保護URL IDS在.NET MVC項目
- 9. ASP .NET MVC保護控制器/動作
- 10. 保護GET調用
- 11. 用X-XSRF-TOKEN(like angularjs)頭文件重新確保CSRF保護
- 12. .NET複製保護
- 13. CSRF保護GET鏈接
- 14. 故障保護$ _ GET變量
- 15. ASP NET MVC 3.0 GET USER INPUT
- 16. 如何在Web應用程序中設置XSRF保護?
- 17. 如何使用HTTPOnly Cookies來保護JWT免受XSRF攻擊?
- 18. 如何使用Azure Web應用程序的XSRF保護
- 19. 這些XSRF保護措施是否也適用於RequestFactory?
- 20. AJAX風格的XSRF保護應用程序
- 21. 如何保護我的JsonResult GET調用?
- 22. 保護一個.NET框架
- 23. .NET中受保護的類
- 24. 如何保護.NET DLL的
- 25. 用asp.net保護文件(mvc)
- 26. 密碼保護IIS 7(.Net MVC 2)中的目錄
- 27. 密碼保護整個.net mvc應用程序?
- 28. 保護GET請求的好方法?
- 29. 如何保護REST GET方法?
- 30. 如何保護直接角get函數
敏感表單提交應該是不可能的書籤 – SinistraD 2010-09-13 16:46:52
如果它的表單提交修改數據,那麼它應該是一個POST,然後重定向到一個GET url。如果表單提交的內容只能作爲一種過濾器,它仍然可以是GET,並且沒有理由犧牲可收藏的網址。 – 2010-09-13 16:55:02
我很擔心以下情況。另一個站點可以運行在XSS上(或者是通過社交工程訪問的惡意站點)。用戶登錄到我的站點並轉到惡意站點,這會向例如accounts/Index發出javascript GET請求,並且現在有一個帳戶列表的副本,他可以將其隱藏回到另一個Web服務器。 – 2010-09-14 07:32:53