跨站請求偽造 | csrf xss
跨站請求偽造(英語:Cross-siterequestforgery),也被稱為one-clickattack或者sessionriding,通常縮寫為CSRF或者XSRF,是一種挾制使用者在當前已登入的Web應用程式上執行非本意的操作的攻擊方法。[1]跟跨網站指令碼(XSS)相比,XSS利用的是使用者對指定網站的信任,CSRF利用的是網站對使用者網頁瀏覽器的信任。攻擊的細節[編輯]跨站請求攻擊,簡單地說,是攻擊者通過一些技術手段欺騙使用者的瀏覽器去存取一個自己曾經認證過的網站並執行一些操作(如發郵件,發訊息,甚至財產操作如轉帳和購買商品)。由於瀏覽器曾經認證過,所以...
跨站請求偽造(英語:Cross-site request forgery),也被稱為 one-click attack 或者 session riding,通常縮寫為 CSRF 或者 XSRF, 是一種挾制使用者在當前已登入的Web應用程式上執行非本意的操作的攻擊方法。[1] 跟跨網站指令碼(XSS)相比,XSS 利用的是使用者對指定網站的信任,CSRF 利用的是網站對使用者網頁瀏覽器的信任。
攻擊的細節[編輯]跨站請求攻擊,簡單地說,是攻擊者通過一些技術手段欺騙使用者的瀏覽器去存取一個自己曾經認證過的網站並執行一些操作(如發郵件,發訊息,甚至財產操作如轉帳和購買商品)。由於瀏覽器曾經認證過,所以被存取的網站會認為是真正的使用者操作而去執行。這利用了web中使用者身分驗證的一個漏洞:簡單的身分驗證只能保證請求是發自某個使用者的瀏覽器,卻不能保證請求本身是使用者自願發出的。
例子[編輯]假如一家銀行用以執行轉帳操作的URL位址如下: https://bank.example.com/withdraw?account=AccoutName&amount=1000&for=PayeeName
那麼,一個惡意攻擊者可以在另一個網站上放置如下代碼: <img src="https://i1.wp.com/bank.example.com/withdraw?account=Alice&amount=1000&for=Badman" />
如果有帳戶名為Alice的使用者存取了惡意站點,而她之前剛存取過銀行不久,登錄資訊尚未過期,那麼她就會損失1000資金。
這種惡意的網址可以有很多種形式,藏身於網頁中的許多地方。此外,攻擊者也不需要控制放置惡意網址的網站。例如他可以將這種位址藏在論壇,部落格等任何使用者供應內容的網站中。這意味著如果伺服器端沒有合適的防禦措施的話,使用者即使存取熟悉的可信網站也有受攻擊的危險。
透過例子能夠看出,攻擊者並不能通過CSRF攻擊來直接獲取使用者的帳戶控制權,也不能直接竊取使用者的任何資訊。他們能做到的,是欺騙使用者的瀏覽器,讓其以使用者的名義執行操作。
防禦措施[編輯] 權杖同步模式[編輯] ...