首頁 > 資安知識庫 > 系統與平台安全 > 網頁安全管理/網頁應用防火牆

利用CORS攻擊比特幣API案例

作者:王思翰 -2018 / 12 / 27 列印 加入我的最愛 分享 將這篇文章分享到 Plurk 噗浪

2018年5月著名的駭客年會Defcon移師至中國北京,為Defcon第一次於美國本土之外的地點舉辦。本次會議介紹了許多目前最當紅的加密貨幣的安全議題,而段海新教授(清華大学網路研究院)與陳建軍(清華大学網路研究院博士研究生)發表了Hacking Intranet from Outside: Security Problems of Cross Origin Resource Sharing (CORS)此議題,介绍攻擊者可利用此CORS安全漏洞可以繞過防火牆攻擊內網伺服器、並結合之前不可利用的CSRF漏洞和取得網站的Cookie信息取得伺服器權限並且對目前對目前線上商業網站的大規模研究。

Corss-Origin Sharing攻擊介紹
Cross-Origin Resource Sharing (CORS) 是目前一種新興的檔案分享方式,目的是繞過瀏覽器的同源政策(Same Origin Policy) 圖一。CORS讓不同網域的網站可以共用資源,如API呼叫取得登入憑證等操作。CORS 設定常被開發人員所忽略,主要原因為目前瀏覽器實作CORS協定,並不支援多網域的來源清單。造成開發人員的網站需要讓多網域共享資源時,須動態產生白名單網域來源清單,因開發人員動態產生白名單時信任,攻擊者可控的HTTP Request Origin的參數,造成攻擊者可取得伺服器上的機敏資料。

 

 

 

 




圖一 同源政策

由於CORS攻擊主要是使用null或是Fuzz的技術來繞過伺服器的允許清單,以下針對幾種常見的繞過方式進行說明
一、 Origin反射(Origin reflection)
說明: 網站接受使用者輸入當Origin來源網站,並且允許該網站。
add_header "Access-Control-Allow-Origin" $http_origin;
add_header “Access-Control-Allow-Credentials” “true”;
解決方法:勿直接信任使用者輸入的http_origin欄位,
建議: 使用白名單來源清單來取代正規表示式。

  
圖二 Origin反射 


1
推薦此文章
1
人推薦此新聞
我要回應此文章
您的姓名:
回應內容:
  輸入圖片數字

你或許會對這些文章有興趣…