[解決済み] Facebookがブラウザに統合されたDeveloper Toolsを無効にする方法を教えてください。
質問
最近の詐欺事件のせいで、開発者ツールがスパムの投稿に悪用されたり、アカウントのハッキングに使われたりしているようですね。Facebookは開発者ツールをブロックしており、私はコンソールを使うことすらできません。
どうやったんだろう? あるStack Overflowの投稿では、それは不可能であると主張されています。 しかし、Facebookはそれが間違っていることを証明しました。
Facebookにアクセスして開発者ツールを開き、コンソールに1文字入力するだけで、この警告がポップアップします。何を入れても実行されないのです。
どうしてこんなことが可能なのでしょうか?
コンソールのオートコンプリートもブロックされた。
解決方法は?
私はFacebookのセキュリティエンジニアで、これは私の責任です。私たちは、ユーザーを騙して(悪意のある)JavaScriptコードをブラウザーコンソールに貼り付ける攻撃を減速させることができるかどうかを確認するために、一部のユーザーに対してこれをテストしています。
はっきりさせておきたいのは、クライアントサイドでハッカーをブロックしようとするのは バッドアイディア 一般に から守るためのものです。 特定のソーシャルエンジニアリング攻撃 .
テストグループに入ってしまい、迷惑している方、ごめんなさい。 昔のオプトアウトページ(現在は ヘルプページ を停止させるのに十分な怖さを持ちながら、できるだけシンプルにします。 いくつか の被害者が出てしまう。
実際のコードは、かなり似ています joeldixon66のリンク しかし、私たちのものは理由もなく少し複雑になっています。
Chrome はコンソールコードをすべて
with ((console && console._commandLineAPI) || {}) {
<code goes here>
}
...そこで、このサイトでは
console._commandLineAPI
を投げるようにします。
Object.defineProperty(console, '_commandLineAPI',
{ get : function() { throw 'Nooo!' } })
これは 十分とは言えないが(試してみてください) が、これが が主なトリックです。
エピローグ Chromeチームは、ユーザーサイドのJSからコンソールを倒すのはバグだと判断し を修正しました。 そのため、このテクニックは無効となった。その後、このテクニックを無効にするために、追加の保護機能が セルフエクススからユーザーを保護する .
関連
-
Vue+ElementUIによる大規模なフォームの処理例
-
HTML+CSS+JavaScriptで簡単な三目並べゲームを作成する。
-
VUEグローバルフィルターの概念と留意点、基本的な使い方
-
[解決済み】「.addEventListener is not a function」なぜこのエラーが発生するのか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] なぜ ++[[]][+[] +[+[]] は "10" という文字列を返すのでしょうか?
-
[解決済み] Chromeデベロッパーツールで:hoverの状態を見る
-
[解決済み] ChromeのデベロッパーツールでJavaScriptを無効にする方法を教えてください。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
fetch ネットワークリクエストラッパーの説明例
-
vueディレクティブv-bindの使用と注意点
-
[解決済み] 配列の結合時に未定義のプロパティ 'push' を読み込むことができない
-
[解決済み】gulp anythingを実行するたびに、アサーションエラーが発生します。- タスク関数を指定する必要があります
-
[解決済み】TypeErrorの解決方法。未定義またはヌルをオブジェクトに変換できない
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
nullのプロパティinnerHTMLを読み取れません エラーメッセージ
-
[解決済み] JavaScriptのコンソールでの色