はい、まさにJavaScriptです。私はそのようなワームに出会い、それを解読しようとしました。
実際の問題は何ですか:
最近のFacebookワームは、ユーザーをページにアクセスさせることで機能し、JavaScriptバーコードをアドレスバーに挿入して実行します。
したがって、JavaScriptコードをアドレスバーに絶対にコピーしないでください。それが主な問題です。信頼できないリンクをクリックしないでください。または、少なくとも、プライバシーモード(Firefox)またはシークレットモード(Chrome)を使用してこれらのリンクを新しいウィンドウで開き、Facebookセッションにアクセスできないようにします。
私たちのハッカーは、人々が何をしているのか気付かないようにするために何をしましたか?
スクリプトをエスケープする
URLバーにコピーした文字列は、実行される別のJavaScriptにリンクしています。このスクリプトは実際にはエンティティにデコードされます。そのため、文字列文字を使用する代わりに、スクリプト全体を文字列に入れてエスケープし、人間が最初に読み取れないようにしました。
たとえば、非常に悪意のある機能があった場合、私はそれをエスケープし、ユーザーには次のものだけが表示されます。
function%20test%28%29%20%7B%20alert%20%28%22LOL%22%29%3B%20%7D
エスケープされていない
function test(){alert( "LOL"); }
したがって、スクリプトは実行される前に「自分自身」のエスケープを解除します。
難読化する
今ではitいものになっています:エスケープする前に、邪悪なJavaScriptコードが難読化され、関数名_____x
やのような変数が使用されていaLDIWEJ
ます。これはJavaScriptにとって依然として意味がありますが、人間にはまったく読めません。これも、Facebookハッカーの意図を隠すために行われます。
この時点で、コードは次のようになります。
スクリプトの機能
このスクリプトは、現在のFacebookセッションを取得します。サイトにログインしているため、あなたの名前で何でもできます。たとえば、FacebookのAPIを介してできることは次のとおりです。
- 「OMG誰が私に忍び寄ったかわかる!」のようなイベントを作成する
- 人とおしゃべり
- ステータス更新の投稿
- 等
これはすべて、Facebook APIページの一部(いくつかのPHPページ、私はどちらを忘れたか)を呼び出すことで起こります。