白帽子講WEB安全 第五章 點擊劫持(Click Jacking)

點擊劫持:它經過覆蓋不可見的框架誤導受害者點擊。
               雖然受害者點擊的是他所看到的頁面,但其實他所點擊的是被黑客精心設計的另外一個置於原網頁之上的透明頁面。
               這種攻擊利用了HTML中的<iframe>的標籤的透明屬性。
 
圖片覆蓋攻擊(Cross Site Image Overlaying)XSIO:經過調整圖片的style使得圖片能覆蓋在任意位置。
 
拖拽劫持:誘使用戶從隱蔽的不可見iframe中「拖拽」出攻擊者但願獲得的數據到攻擊者能控制的頁面,來竊取數據。
               (拖拽是不受同源策略的限制的,能夠從一個窗口拖拽到另外一個窗口)。
 
觸屏劫持:經過將一個不可見的iframe覆蓋到當前網頁上,能夠劫持用戶的觸屏操做。
 
 
 
防護ClickJacking:
 
1)frame busting :能夠寫一段JavaScript,以禁止iframe嵌套。
eg:if(top != self)
       if(top.location != self.location)
       if(top.location != location)
       if(parent.frames.length > 0)
       if(window != top)
       if(window.top != window.self)
       if(parent && parent != window)
缺陷:使用JavaScript寫的控制力不是特別強,有許多方法能繞過。
 
2)X-Frame-Options:一個HTTP頭,爲解決ClickJacking而生。
它有三個選項:
     DENY-------瀏覽器拒絕當前頁面加載任何的frame頁面。
     SAMEORIGIN--------frame 頁面的地址只能爲同源域名下的頁面。
     ALLOW-FROM--------能夠定義容許frame加載的頁面地址。
 
3)Firefox的「Content Security Policy」
       主要是用來定義頁面能夠加載哪些資源,減小XSS的發生。
 
4)Firefox的NoScript擴展
noscript 元素用來定義在腳本未被執行時的替代內容(文本)。
標籤可被用於可識別 <script> 標籤但沒法支持其中的腳本的瀏覽器。
相關文章
相關標籤/搜索