どうやら最近の詐欺のせいで、開発者ツールがスパム投稿に悪用されたり、アカウントを「ハッキング」するのに使われたりするようです。Facebook は開発者ツールをブロックしており、コンソールも使えません。
彼らはどうやってそれをやったのですか??Stack Overflowの投稿ではそれは不可能だと主張しているしかし、Facebook は彼らの考えが間違っていることを証明しました。
Facebook にアクセスして開発者ツールを開き、コンソールに 1 文字入力すると、この警告が表示されます。何を入力しても実行されません。
どうしてこんなことが可能なのでしょうか?
コンソールのオートコンプリートもブロックされました:
ベストアンサー1
私は Facebook のセキュリティ エンジニアですが、これは私の責任です。一部のユーザーを対象にこれをテストして、ユーザーを騙して (悪意のある) JavaScript コードをブラウザー コンソールに貼り付けさせる攻撃を遅らせることができるかどうかを確認しています。
明確にしておくと、クライアント側でハッカーをブロックしようとするのは悪いアイデア一般的には、これは特定のソーシャルエンジニアリング攻撃。
もしあなたがテストグループに入ってしまい、これにイライラしているなら、申し訳ありません。私は古いオプトアウトページ(今はヘルプページ)をできるだけシンプルにしながらも、少なくとも一部の犠牲者を止めるのに十分なほど恐ろしいものにします。
実際のコードは@joeldixon66 のリンク; 私たちのものは、特に理由もなく、もう少し複雑です。
Chromeはすべてのコンソールコードを
with ((console && console._commandLineAPI) || {}) {
<code goes here>
}
...そこで、サイトはconsole._commandLineAPI
次のように再定義します:
Object.defineProperty(console, '_commandLineAPI',
{ get : function() { throw 'Nooo!' } })
これはまだ十分ではありません(試してみてください!)しかし、それが主なトリックです。
エピローグ: Chromeチームは、ユーザーサイドJSからコンソールを無効にするのはバグであると判断し、問題を修正しました、この技術は無効になりました。その後、追加の保護が追加されました自己XSSからユーザーを保護する。