Heim > Web-Frontend > js-Tutorial > Wie können wir einen Frame-Busting-Buster besiegen, der „setInterval' und „onbeforeunload' verwendet?

Wie können wir einen Frame-Busting-Buster besiegen, der „setInterval' und „onbeforeunload' verwendet?

Susan Sarandon
Freigeben: 2024-12-09 03:44:09
Original
552 Leute haben es durchsucht

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

Frame Buster Buster Buster: Dem Unzerbrechlichen trotzen

Sie haben ein robustes Frame-Busting-Skript implementiert, um zu verhindern, dass Ihre Website darin angezeigt wird ein Iframe. Aber was passiert, wenn Ihr Frame-Busting-Code selbst zum Ziel wird?

Der Frame Busting Buster.

Ein cleverer Angreifer hat ein Skript entwickelt, das Ihren Frame umgehen kann- Busting-Maßnahmen durch Verwendung des window.onbeforeunload-Ereignisses und eines Timers, der jede Millisekunde ausgelöst wird. Das Skript des Angreifers:

  • Verhindert, dass der Browser von der aktuellen Seite weg navigiert, indem ein Zähler im window.onbeforeunload-Ereignishandler erhöht wird.
  • Leitet den Standort an einen Server um, der von der gesteuert wird Angreifer nutzt einen Timer.
  • Der Server des Angreifers antwortet mit einem 204-Statuscode und verhindert so den Browser von der Navigation irgendwohin.

Ihre ersten Versuche, diesen Frame-Buster zu besiegen, sind gescheitert. Das Löschen des onbeforeunload-Ereignisses hat keine Auswirkung und Warnmeldungen sorgen nur für eine vorübergehende Unterbrechung.

Der Buster Buster Buster.

Können Sie den Kreislauf durchbrechen und den hartnäckigen Rahmen besiegen? -buster Buster? Eine Möglichkeit, das Skript des Angreifers zu neutralisieren, besteht darin, den setInterval()-Timer ins Visier zu nehmen:

// Detect the attacker's script
var busterBuster = setInterval(function() {
  if (prevent_bust > 0) {
    // Bust the buster
    clearInterval(busterBuster);
    prevent_bust = 0;
  }
}, 1);
Nach dem Login kopieren

Dieses Skript:

  • Überprüft regelmäßig, ob der Timer des Angreifers vorhanden ist.
  • Wenn der Timer erkannt wird, wird der Timer gelöscht und „prevent_bust“ auf zurückgesetzt 0.
  • Diese Aktion unterbricht effektiv den Kreislauf und verhindert, dass das Skript des Angreifers weiterhin ausgeführt wird.

Fazit.

Während des Frames -Busting Buster war eine gewaltige Herausforderung, der Buster-Buster-Buster demonstriert die Widerstandsfähigkeit und Anpassungsfähigkeit von JavaScript-Programmierern. Indem wir den Code des Angreifers sorgfältig analysieren und die Kenntnisse über die Funktionen von JavaScript nutzen, können wir selbst die komplexesten Bedrohungen überwinden.

Das obige ist der detaillierte Inhalt vonWie können wir einen Frame-Busting-Buster besiegen, der „setInterval' und „onbeforeunload' verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage