點擊劫持(ClickJacking)漏洞挖掘及實戰案例全匯總


1、漏洞理解

點擊劫持(Click Jacking)是一種視覺上的欺騙手段,攻擊者通過使用一個透明的iframe,覆蓋在一個網頁上,然后誘使用戶在該頁面上進行操作,通過調整iframe頁面的位置,可以使得偽造的頁面恰好和iframe里受害頁面里一些功能重合(按鈕),以達到竊取用戶信息或者劫持用戶操作的目的。

Clickjacking是僅此於XSS和CSRF的前端漏洞,因為需要誘使用戶交互,攻擊成本高,所以不被重視,但危害不容小覷,攻擊效果見案例。

2、漏洞原理

  對於漏洞的防范大部分瀏覽器支持的防御辦法是使用X-Frame-Options頭,通常設置為DENY可以很好地防范漏洞,其次SAMEORIGIN可以在某個頁面失守時被繞過,ALLOW-FROM uri不被Chrome支持。其次還有CSP頭:Content-Security-Policy: frame-ancestors 'self'僅支持FireFox。

   也就是說,如果發現系統沒有設置上述頭,大概率存在ClickJacking漏洞,測試方法很簡單,本地構造一個HTML文件,使用iframe包含此頁面:

 

 

若返回拒絕請求,則不存在問題,控制台提示已設置X-Frame頭故引用網站失敗:

 

 

3、漏洞防御

  主要有三種防御辦法:

1)X-Frame-Options,建議設置為DENY;

2)Content-Security-Policy:frame-ancestors 'self'或‘none’,不適用於Safari和IE;

3)js層面:使用iframe的sandbox屬性,判斷當前頁面是否被其他頁面嵌套。

  當前最推薦的方案是1和3結合防御,深入了解可以閱讀原文,下載斯坦福大學對此漏洞的研究論文。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM