Drupal 7を実行しているサイトがハッキングされ、すべての管理ページ(例:.
http://www.anysite.com/en/admin/dashboard
悪意のあるsrc属性を持つスクリプトタグがヘッドセクションに含まれています。
<head>
...
<script src="..."></script>
</head>
Src属性のこれらの3つのドットは、たとえば上記の3つのドットの行と同じでした:)実際のコードには、悪意のあるWebへのリンクがありますgymweb.it
。
このスクリプトタグを削除するにはどうすればよいですか?管理ページのヘッドセクションはどのように構成されていますか?
Sevenを管理テーマとして使用している場合(これはデフォルトの設定です)、スクリプトmay/core/themes/seven
内のテンプレートファイルに追加されました
Drupal 7にアップグレードしているように見せかけ、sites
フォルダーを除くすべてのファイルとフォルダーを削除するのが簡単なアプローチだと思います。
Drupalを「アップグレード」した後も問題が解決しない場合は、sites
フォルダーのどこかにある可能性があります。
/ sites/all/themes/yourtheme/templatesに移動し、すべてのテンプレートファイル。tpl.phpをチェックして、悪意のあるコードが追加されていないか確認します。
また、/ sites/all/themes /template.phpファイルをチェックして、そこに何らかの悪質なコードが追加されていないか確認してください。テーマ関数と通常Drupalここにコード。
Strange.phpファイル名に注意してください。
さらに、 Hacked! モジュールを使用して、モジュールが追加または変更されたかどうかを確認できます。
それでも解決しない場合は、おそらくスクリプトがデータベースにあります。テキストボックスで完全なHTMLまたはPHP=を許可したか、DBがハッキングされたため。
コードが変更された疑いがある場合は、Webrootに感染する可能性のある悪意のあるコードを追跡する必要があります。
サーバーターミナルにアクセスしている場合は、以下の提案を試してください。そうでない場合は、以下のコマンドを実行するためにファイルをローカルマシンに同期してください。
攻撃者を取り除くための一般的な解決策は次のとおりです。
php-malware-Finder
、 php-malware-scanner
、 phpscanner
)。base64_decode
/eval
で構成される疑わしいファイルがないか、ウェブルートを探します。これは、難読化に最も一般的に使用されています。
grep -R return.*base64_decode .
あなたがそれを見つけた場合、おそらくあなたはそれらの複数を持っています。もしそうなら、チェックしてください: PHP virus files スレッドのようなeval-base64_decodeを取り除く方法は、さらなる提案です。
ソースコードに現れるマルウェアの特定のパターンを知っている場合は(そうすることです)、コードベースをスキャンしてこの名前を探してください。
grep -R gymweb .
そして、これらのURLが追加された場所に応じて、余分なコードを削除するか、(VCS履歴または感染前の最新のバックアップから)元のバージョンに復元します。
上記の方法で解決しない場合は、Drupal指向の次の提案を試してください。
git status
)を見つけて削除します(git clean -f .
)。drush up drupal
)を置き換えます。drush upc --no-core
)を使用してcontribモジュールをアップグレードします。また、この名前についてデータベース全体をスキャンします。
drush sql-dump --ordered-dump | grep gymweb
それでも解決しない場合は、感染前のバックアップのコードベースを現在のコードベースと比較します(diff -r
によって、いくつかのdiff GUIツールを使用するか、Gitを使用します)。
また確認してください:
最速の方法は、drupalを再ダウンロードし、drupalディレクトリに抽出して、すべてのファイルを上書きします。そして、すべてのキャッシュをクリア/ memcached/varnishを再起動し、スクリプトがまだ含まれているかどうかを確認します。つまり、おそらくすべてのcontribモジュールを上書きして、最後にカスタムモジュール/テーマを確認する必要があります。これは、おそらくPHPのエンコードされたビットに対するeval(base64_decode())
呼び出しですdrupal includeのどこかにコードがあります。手動で見つけるのは難しいでしょう。