上級者向け2026年2月更新

ファイルスキャンで見つからない
データベース内のマルウェア

Wordfenceでスキャンしても「問題なし」。ファイルを全て確認しても不審なものは見つからない。 でもサイトは明らかにおかしい(感染の兆候について)——そんな時、マルウェアはデータベースの中に潜んでいます。

なぜデータベースにマルウェアが潜むのか

ファイルスキャンツールはPHPファイルを対象にしており、データベースの中身はスキャンしない

WordPressの投稿やウィジェットはデータベースに保存されるため、そこにJavaScriptを挿入できる

wp_optionsテーブルのsiteurlやhomeを書き換えれば、ファイルを一切触らずにリダイレクトを仕込める

データベースの変更はファイルの更新日時に反映されないため、タイムスタンプベースの検出を回避できる

検出に使えるSQLクエリ

以下のクエリはSELECT文(読み取り専用)ですが、データベースの操作は慎重に行ってください。不正データの削除にはDELETEやUPDATEが必要ですが、実行前に必ずバックアップを取得してください。

wp_optionsテーブルから不審なスクリプトを検出

SELECT option_name, LEFT(option_value, 200) AS preview
FROM wp_options
WHERE option_value LIKE '%<script%'
   OR option_value LIKE '%eval(%'
   OR option_value LIKE '%base64_decode%'
   OR option_value LIKE '%document.location%'
ORDER BY option_id;

siteurl、home、widget_textなどに不正コードが挿入されていることが多い

wp_postsテーブルから隠しリンクやリダイレクトを検出

SELECT ID, post_title, LEFT(post_content, 200) AS preview
FROM wp_posts
WHERE post_content LIKE '%display:none%'
   OR post_content LIKE '%visibility:hidden%'
   OR post_content LIKE '%position:absolute%left:-9999%'
   OR post_content LIKE '%<iframe%'
ORDER BY post_modified DESC
LIMIT 50;

SEOスパム(隠しリンク)やマルバタイジング(不正広告)の検出に有効

不正に作成された管理者アカウントを検出

SELECT u.ID, u.user_login, u.user_email, u.user_registered
FROM wp_users u
INNER JOIN wp_usermeta m ON u.ID = m.user_id
WHERE m.meta_key = 'wp_capabilities'
  AND m.meta_value LIKE '%administrator%'
ORDER BY u.user_registered DESC;

見覚えのない管理者アカウントがあれば、攻撃者が作成したバックドアの可能性がある

お困りですか?専門家に無料で相談できます

マルウェア感染の疑いがある場合、早期対応が被害を最小限に抑えます。 まずはLINEで無料相談をご利用ください。

データベースの調査もお任せください

ファイルとデータベースの両方を徹底的に調査し、全てのマルウェアを駆除します。

マルウェアの不安を 今すぐ解消しませんか?

リバースハックはWordPress専門のセキュリティチームです。 マルウェア駆除から再発防止まで、ワンストップでサポートします。 まずはお気軽にご相談ください。

最短即日対応
緊急時も迅速に対応
再感染30日保証
駆除後の安心サポート
相談無料
LINEで気軽に相談OK

※ 相談は無料です。お見積もりだけでもお気軽にどうぞ。

この記事をシェア