經常被忽視的攻擊 —— CSRF (跨站請求偽造)

2020-12-27 開源中國

CSRF(Cross-site request forgery 跨站請求偽造,也被稱成為「one click attack」或者session riding,通常縮寫為CSRF或者XSRF,是一種對網站的惡意利用。儘管聽起來像跨站腳本(XSS),但它與XSS非常不同,並且攻擊方式幾乎相左。XSS利用站點內的信任用戶,而CSRF則通過偽裝來自受信任用戶的請求來利用受信任的網站。與XSS攻擊相比,CSRF攻擊往往不大流行(因此對其進行防範的資源也相當稀少)和難以防範,所以被認為比XSS更具危險性。

攻擊通過在授權用戶訪問的頁面中包含連結或者腳本的 方式工作。例如:一個網站用戶Bob可能正在瀏覽聊天論壇,而同時另一個用戶Alice也在此論壇中,並且後者剛剛發布了一個具有Bob銀行連結的圖片消 息。設想一下,Alice編寫了一個在Bob的銀行站點上進行取款的form提交的連結,並將此連結作為圖片tag。如果Bob的銀行在cookie中保 存他的授權信息,並且此cookie沒有過期,那麼當Bob的瀏覽器嘗試裝載圖片時將提交這個取款form和他的cookie,這樣在沒經Bob同意的情況下便授權了這次事務。

CSRF是一種依賴web瀏覽器的、被混淆過的代理人攻擊(deputy attack)。在上面銀行示例中的代理人是Bob的web瀏覽器,它被混淆後誤將Bob的授權直接交給了Alice使用。

下面是CSRF的常見特性:

  • 依靠用戶標識危害網站
  • 利用網站對用戶標識的信任
  • 欺騙用戶的瀏覽器發送HTTP請求給目標站點
  • 另外可以通過IMG標籤會觸發一個GET請求,可以利用它來實現CSRF攻擊。

風險在於那些通過基於受信任的輸入form和對特定行為無需授權的已認證的用戶來執行某些行為的web應用。已經通過被保存在用戶瀏覽器中的cookie進行認證的用戶將在完全無知的情況下發送HTTP請求到那個信任他的站點,進而進行用戶不願做的行為。

使用圖片的CSRF攻擊常常出現在網絡論壇中,因為那裡允許用戶發布圖片而不能使用JavaScript。

國慶期間,@蟋蟀哥哥 再次對 OSChina 實施了 CSRF,詳情如下:

http://www.oschina.net/question/12_72060

相關焦點

  • 「Burpsuite練兵場」CSRF(一)
    CSRF(Cross-site request forgery,跨站點請求偽造)是一種是挾制終端用戶在當前已登錄的Web應用程式上執行非本意操作的攻擊方法,它允許攻擊者誘導用戶執行他們不打算執行的操作,並且該攻擊可以部分規避同源策略
  • django中遇到錯誤:Forbidden CSRF cookie not set
    表示django全局發送post請求均需要字符串驗證功能:防止跨站請求偽造的功能工作原理:客戶端訪問伺服器端,在伺服器端正常返回給客戶端數據的時候,而外返回給客戶端一段字符串,等到客戶端下次訪問伺服器端時,伺服器端會到客戶端查找先前返回的字符串
  • SQL注入、XSS以及CSRF分別是什麼?
    SQL注入SQL注入是屬於注入式攻擊,這種攻擊是因為在項目中沒有將代碼與數據(比如用戶敏感數據)隔離,在讀取數據的時候,錯誤的將數據作為代碼的一部分執行而導致的。典型的例子就是當對SQL語句進行字符串拼接的時候,直接使用未轉義的用戶輸入內容作為變量。
  • [網絡安全] 五.XSS跨站腳本攻擊詳解及分類-1
    娜璋AI安全之家將專注於Python和安全技術,主要分享Web滲透、系統安全、人工智慧、大數據分析、圖像識別、惡意代碼檢測、CVE復現、威脅情報分析等文章。真心想把自己近十年的所學所做所感分享出來,與大家一起進步。聲明:本人堅決反對利用教學方法進行惡意攻擊的行為,一切錯誤的行為必將受到嚴懲,綠色網絡需要我們共同維護,更推薦大家了解技術背後的原理,更好地進行安全防護。
  • 挖洞思路 | XSS跨站腳本攻擊漏洞挖掘技巧總結
    3.B站在線學習連結由於分享的資源連結經常被和諧,所以必須遷移到B站上供大家學習B站up主官方帳號:VMYKnetwork團隊XSS的原理和分類跨站腳本攻擊XSS(Cross Site Scripting),為了不和層疊樣式表(Cascading Style Sheets, CSS)的縮寫混淆,故將跨站腳本攻擊縮寫為XSS。
  • 常見web漏洞(Sql注入、XSS、CSRF)原理以及攻防總結
    作者:quanweibai     文章來源:GitHubSql注入所謂SQL注入式攻擊,就是攻擊者把SQL命令插入到Web表單的輸入域或頁面請求的查詢字符串
  • 漏洞使Magento的網上商店遭到黑客攻擊
    此選項旨在防止跨站點請求偽造(CSRF)攻擊,並默認啟用。CSRF是一種攻擊技術,涉及強制用戶瀏覽器在訪問不同網站時在網站上執行未經授權的請求。DefenseCode研究人員在一份諮詢文章中說:「攻擊可以在電子郵件或公共留言板中簡單地構建為img src = ...,如果用戶當前登錄到Magento,它將自動觸發任意文件上傳。
  • Google推出XS-Leaks Wiki 普及有關跨站洩露的網絡安全知識
    跨站洩露,也被稱為 "XS-Leaks",是網絡設計中的一類問題,它允許網絡應用相互交互,即使它們不相關。這導致用戶數據在不同的Web應用之間共享,通常會帶來嚴重的安全漏洞。依靠跨站洩密的安全漏洞日漸增多,為了解決這一問題,谷歌宣布建立了一個知識庫,以便開發者和安全研究人員更好地了解這個問題,並圍繞它建立防禦措施。這一知識庫被稱為 "XS-Leaks Wiki",包含的文章解釋了跨站點洩漏的概念,演示一些常見的攻擊,以及你介紹針對它們設置的防禦措施。除了每種攻擊的細節,還提供概念驗證代碼。
  • 網盾極風雲:淺談WEB攻擊之XSS
    會被稱之為跨站腳本攻擊主要是來源於它的攻擊方式。黑客利用網頁漏洞向網站插入HTML/JS代碼,當用戶訪問帶有JS代碼的網站時會執行這一段HTML/JS代碼,達到黑客的目的。XSS分類XSS(Cross-site scripting,跨站腳本攻擊) 是指利用網頁開發時留下的漏洞,通過巧妙的方法注入惡意指令代碼到網頁,使用戶加載並執行黑客惡意製造的網頁程序,這些惡意網頁程序通常是JavaScript,但實際上也可以包括Flash、ActiveX、Java甚至是普通HTML。
  • 前端Hack之XSS攻擊個人學習筆記
    XSS (Cross-Site Script, 跨站腳本)是由於 web 應用程式對用戶的輸入過濾不足而產生的一種漏洞。攻擊者可以利用網站漏洞把惡意的腳本代碼注入到網頁之中,當其他用戶瀏覽這些帶有惡意代碼的網頁時就會執行其中的惡意代碼,對受害者產生各種攻擊。