Ausgabe
Anscheinend werden die Entwicklertools aufgrund der jüngsten Betrügereien von Leuten ausgenutzt, um Spam zu posten, und sogar zum “Hacken” von Konten verwendet. Facebook hat die Entwicklertools blockiert und ich kann nicht einmal die Konsole verwenden.
Wie haben die das gemacht?? Ein Stack Overflow-Beitrag behauptete, dass dies nicht möglich sei, aber Facebook hat ihnen das Gegenteil bewiesen.
Gehen Sie einfach zu Facebook und öffnen Sie die Entwicklertools, geben Sie ein Zeichen in die Konsole ein und diese Warnung wird angezeigt. Egal was Sie eingeben, es wird nicht ausgeführt.
Wie ist das möglich?
Sie haben sogar die automatische Vervollständigung in der Konsole blockiert:
Lösung
Ich bin Sicherheitsingenieur bei Facebook und das ist meine Schuld. Wir testen dies für einige Benutzer, um zu sehen, ob es einige Angriffe verlangsamen kann, bei denen Benutzer dazu verleitet werden, (bösartigen) JavaScript-Code in die Browserkonsole einzufügen.
Nur um es klar zu sagen: Der Versuch, Hacker auf der Client-Seite zu blockieren, ist im Allgemeinen eine schlechte Idee ; Dies dient dem Schutz vor einem bestimmten Social-Engineering-Angriff .
Falls Sie in der Testgruppe gelandet sind und sich darüber ärgern, sorry. Ich habe versucht, die alte Opt-out-Seite (jetzt Hilfeseite ) so einfach wie möglich zu gestalten und dennoch beängstigend genug zu sein, um zumindest einige der Opfer zu stoppen.
Der eigentliche Code ist dem Link von @joeldixon66 ziemlich ähnlich ; unsere ist ohne guten Grund etwas komplizierter.
Chrome schließt den gesamten Konsolencode ein
with ((console && console._commandLineAPI) || {}) {
<code goes here>
}
… also wird die Seite console._commandLineAPI
zum Werfen neu definiert:
Object.defineProperty(console, '_commandLineAPI',
{ get : function() { throw 'Nooo!' } })
Das ist nicht ganz genug (versuchen Sie es!) , aber das ist der Haupttrick.
Epilog: Das Chrome-Team hat entschieden, dass das Besiegen der Konsole über benutzerseitiges JS ein Fehler war, und das Problem behoben , wodurch diese Technik ungültig wurde. Danach wurde ein zusätzlicher Schutz hinzugefügt, um Benutzer vor self-xss zu schützen .
Beantwortet von – Alf
Antwort geprüft von – Marilyn (FixError Volunteer)