首頁 > web前端 > js教程 > 如何擊敗繞過傳統 Frame-Busting JavaScript 的 Frame-Busting Buster?

如何擊敗繞過傳統 Frame-Busting JavaScript 的 Frame-Busting Buster?

Barbara Streisand
發布: 2024-12-24 16:34:14
原創
490 人瀏覽過

How Can I Defeat a Frame-Busting Buster That Bypasses Traditional Frame-Busting JavaScript?

擊敗 Frame Busting Buster

考慮一下您希望阻止其他網站將您的網站嵌入

/* break us out of any containing iframes */
if (top != self) { top.location.replace(self.location.href); }
登入後複製

雖然有效,但此程式碼可以被框架破壞破壞器繞過:

<script type="text/javascript">
    var prevent_bust = 0  
    window.onbeforeunload = function() { prevent_bust++ }  
    setInterval(function() {  
      if (prevent_bust > 0) {  
        prevent_bust -= 2  
        window.top.location = 'http://example.org/page-which-responds-with-204'  
      }  
    }, 1)  
</script>
登入後複製

此buster的操作方式是:

  • 在任何嘗試離開的導航時增加計數器頁面
  • 如果計數器增加,使用計時器將頁面重定向到攻擊者的伺服器
  • 檢索204 HTTP狀態代碼,防止進一步導航

那麼,如何打敗破壞框架的破壞者呢?

一個有效的方法是使用大多數現代瀏覽器支援的 X-Frame-Options:deny 指令。即使停用腳本,此指令也會阻止框架:

X-Frame-Options: deny
登入後複製

瀏覽器支援:

  • IE8: https://blogs.msdn.com/ie/archive/2009/01/27/ie8-security-part-vii-clickjacking-defenses.aspx
  • Firefox (3.6.9):

    • https://bugzilla.mozilla.org/show_bug.cgi?id=475530
    • htt ps://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header
  • Chrome/Webkit:

    • http://blog.chromium.org/2010/01/security-in-depth-n ew-security-features.html
    • http://trac.webkit.org/changeset/42333

以上是如何擊敗繞過傳統 Frame-Busting JavaScript 的 Frame-Busting Buster?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板