Web サーバーで問題が発生しています。誰かが流出したワードプレスに感染させました。問題は次のとおりです。ファイル内のどこかに悪意のある phpscript があります。悪意のあるスクリプトは、Web サーバー (/home) 上のすべてのファイル内に iframe を配置しています。すべての iframe を消去する方法は知っていますが、トリガーを削除することを考えています。だから私はそれを修正する方法をさまよっていました.おそらく解決策がありますが、あなたのアドバイスが必要です.
スクリプトが時々実行されることに気付きましたが、完全にランダムです (週に約 1 回) 次に、次のシェル コマンドを使用して悪意のある iframe をすべて消去したとします (現在、30 分ごとに実行しています)。
find /home -type f | xargs sed -i 's$<iframe src="[^"]*" width="2" height="2" frameborder="0"></iframe>$ $g'
私のすべてのphpファイルにiframeが含まれていないので、iframeが再び表示されたときに警告することが考えられます。このように、iframe が表示されるおおよその時間があれば、Apache ログを調べて、どの Webscript が呼び出されたかを確認できます。
そこで、別の bash シェルを作成しました。それで問題ないかどうかアドバイスをいただきたいと思います。メールを受信するまで、サーバー上で 30 分ごとに実行していました。
次に、Apache ログを調べて、過去 30 分間のログを確認します。
だからここに私が考えていたbashがあります:
#!/bin/bash
find /home -type f | xargs grep -q '<iframe src="[^"]*" width="2" height="2" frameborder="0"></iframe>' #Find the string in all file on my all directory
if [ $? -eq 0 ] #if the result is not equal to zero
then
echo "At the following time : " $(date +%H-%M-%S) | mail -s "[Serveur Leaked] Bad iframe has been found " me@mymail #we send a mail with the date
find /home -type f | xargs sed -i 's$<iframe src="[^"]*" width="2" height="2" frameborder="0"></iframe>$ $g' #we replace the iframe with a whitespace
else
exit 1
fi
exit 0
私が言ったように、30分ごとに検索と置換のシェルコマンドを実行していて、多くのプロセスがかかっていることを知っているので、本当に解決策を見つける必要があります。
しかし、サーバー上で iframe を長くしすぎると、ウェブサイトが Google によってブラックリストに登録されてしまい、これを行う余裕がありませんでした。
今後ともアドバイスをよろしくお願いいたします。
アンセルメ