ホームページ > ウェブフロントエンド > jsチュートリアル > 「setInterval」と「onbeforeunload」を使用するフレームバスティングバスターを倒すにはどうすればよいでしょうか?

「setInterval」と「onbeforeunload」を使用するフレームバスティングバスターを倒すにはどうすればよいでしょうか?

Susan Sarandon
リリース: 2024-12-09 03:44:09
オリジナル
552 人が閲覧しました

How Can We Defeat a Frame-Busting Buster That Uses `setInterval` and `onbeforeunload`?

Frame Buster Buster Buster: Defying the Unbreakable

サイトが 内に表示されないように、堅牢なフレームバスティング スクリプトを実装しました。 iframe。しかし、フレームバスティング コード自体がターゲットになったらどうなるでしょうか?

フレームバスティング バスター。

賢い攻撃者が、フレームをバイパスできるスクリプトを開発しました。 window.onbeforeunload イベントとミリ秒ごとに起動するように設定されたタイマーを利用して、対策を破棄します。攻撃者のスクリプト:

  • window.onbeforeunload イベント ハンドラーのカウンターをインクリメントすることで、ブラウザーが現在のページから移動するのを防ぎます。
  • によって制御されるサーバーに場所をリダイレクトします。
  • 攻撃者のサーバーは 204 ステータス コードで応答し、

このフレーム破壊バスターを倒す最初の試みは失敗しました。 onbeforeunload イベントをクリアしても効果はなく、アラート ボックスは一時的な中断を提供するだけです。

バスター バスター バスター。

サイクルを断ち切り、粘り強いフレームを倒すことができますか? -バスティングバスター?攻撃者のスクリプトを無力化する 1 つのアプローチは、setInterval() タイマーをターゲットにすることです:

// Detect the attacker's script
var busterBuster = setInterval(function() {
  if (prevent_bust > 0) {
    // Bust the buster
    clearInterval(busterBuster);
    prevent_bust = 0;
  }
}, 1);
ログイン後にコピー

このスクリプト:

  • 攻撃者のタイマーの存在を定期的にチェックします。
  • タイマーが検出されると、タイマーをクリアし、prevent_bust をリセットします。 0.
  • このアクションは効果的にサイクルを中断し、攻撃者のスクリプトの実行継続を防ぎます。

結論。

フレームの間- バスターを潰すのは手ごわい挑戦でした。バスター-バスター-バスターは JavaScript の回復力と適応性を示していますプログラマー。攻撃者のコードを注意深く分析し、JavaScript の機能に関する知識を活用することで、最も複雑な脅威さえも克服できます。

以上が「setInterval」と「onbeforeunload」を使用するフレームバスティングバスターを倒すにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート