2012-02-19 9 views
1

バスティングとI次の私は今、数時間のためにこれを破るしようとしてきたが、私は会社のための侵入テストを行っています:(</p> <p>なし成功を収めて...私は今、かなり絶望的だ厳しいFRAMEキラー

<script type="text/javascript">/* <![CDATA[ */ 
if (top != self) { 
    try { 
     if (parent != top) { 
      throw 1; 
     } 
     var disallowed = ['XXXXXXX.com']; 
     var href = top.location.href.toLowerCase(); 
     for (var i = 0; i < disallowed.length; i++) { 
      if (href.indexOf(disallowed[i]) >= 0) { 
       throw 1; 
      } 
     } 
    } catch (e) { 
     try { 
      window.document.getElementsByTagName('head')[0].innerHTML = ''; 
     } catch (e) { /* IE */ 
      var htmlEl = document.getElementsByTagName('html')[0]; 
      htmlEl.removeChild(document.getElementsByTagName('head')[0]); 
      var el = document.createElement('head'); 
      htmlEl.appendChild(el); 
     } 
     window.document.body.innerHTML = '<a href="#" onclick="top.location.href=window.location.href" style="text-decoration:none;"><img src="http://www.XXXXXXX.com/img/XXXXXX.gif" style="border:0px;" /><br />Go to XXXXXXX.com</a>'; 
    } 
} 

/* ]]> */</script> 

ありがとうございました

+3

ブロ、あなたはそのコードをインデントする必要があります。私はそれを読むことができません –

+0

ああ申し訳ありません...私はそれが自動インデントされると思った。 私はPointyがそれを私のためにしたことを今見ます。 ありがとうございます! –

+1

許可されていないリストを使用しますが、許可されたリストは使用しません。それは非常に安全とは思われません。 (あなたはこれを投稿する許可を持っていますか?侵入テストでは通常、コードをネット上で共有することはありません) –

答えて

1

使用1::!このフレームキラーJSをバイパスする必要が

  • 私はbody要素のノード・ドキュメントのブラウジングコンテキストは、ネストされたブラウジング・コンテキストの場合は不許可リスト
  • X-Frame-Options
  • HTML5 sandbox

をバイパスする代わりに、ドメイン名のPアドレス、およびそのネストされたブラウジングのブラウジング・コンテキスト・コンテナcontextがframeまたはiframe要素の場合、body要素のコンテナフレーム要素はそのframe要素またはiframe要素です。それ以外の場合、コンテナフレーム要素はありません。

上記の要件は、ページがiframeなどを使用して別のページのマージンを変更できることを意味します。これは潜在的にセキュリティ上のリスクです。場合によっては、フィッシングやユーザーの誤解を招くような目的で、意図したとおりにページをレンダリングするような攻撃を試みる可能性があるためです。

参照

+0

上記のX-Frame-Optionsは、Clickjackingの試みに対する防衛として認められています。このオプションの制限はhttps://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheetでご確認ください。現在のバージョンのブラウザのほとんどすべてがこのオプションをサポートしています。これがあなたの最善の選択肢です。 –

関連する問題

 関連する問題