私は攻撃を受け、マルウェアに感染したウェブサイトをいくつか持っています。Linuxは文字列を含むファイルを検索して置き換えます
更新が必要なファイルが800以上あり、文字列は各ファイルでまったく同じです。
私がしたいことは、マルウェアを持つすべてのファイルを見つけて、そのファイルから問題の文字列を削除することです。
基本的な文字列に対して試験したとき、私は正常に動作し、いくつかのコマンドラインスクリプトを発見した:
perl -pi -w -e 's/string_to_find//g;' test-file.php
とfindコマンドに統合:
発見。タイプf | xargs grep 'string_to_find' -sl | xargs perl -pi -w -e/string_to_find // g; '
が今私の問題は、それが非常に長く、かつ複雑な文字列である文字列で動作するようになっている:私は、検索を試してみて、完全な文字列に置き換えたときに、今<?php @error_reporting(0); if (!isset($eva1fYlbakBcVSir)) {$eva1fYlbakBcVSir = "random_string_7365_characters_long";$eva1tYlbakBcVSir = "string_of_encoded_characters";$eva1tYldakBcVSir = "string_of_encoded_characters";$eva1tYldakBoVS1r = "string_of_encoded_characters";$eva1tYidokBoVSjr = "string_of_encoded_characters";$eva1tYldokBcVSjr=$eva1tYldakBcVSir($eva1tYldakBoVS1r);$eva1tYldakBcVSjr=$eva1tYldakBcVSir($eva1tYlbakBcVSir);$eva1tYidakBcVSjr = $eva1tYldakBcVSjr(chr(2687.5*0.016), $eva1fYlbakBcVSir);$eva1tYXdakAcVSjr = $eva1tYidakBcVSjr[0.031*0.061];$eva1tYidokBcVSjr = $eva1tYldakBcVSjr(chr(3625*0.016), $eva1tYidokBoVSjr);$eva1tYldokBcVSjr($eva1tYidokBcVSjr[0.016*(7812.5*0.016)],$eva1tYidokBcVSjr[62.5*0.016],$eva1tYldakBcVSir($eva1tYidokBcVSjr[0.061*0.031]));$eva1tYldakBcVSir = "";$eva1tYldakBoVS1r = $eva1tYlbakBcVSir.$eva1tYlbakBcVSir;$eva1tYidokBoVSjr = $eva1tYlbakBcVSir;$eva1tYldakBcVSir = "string_of_encoded_characters";$eva1tYlbakBcVSir = "string_of_encoded_characters";$eva1tYldakBoVS1r = "string_of_encoded_characters";$eva1tYldakBcVSir = "";$eva1tYldakBoVS1r = $eva1tYlbakBcVSir.$eva1tYlbakBcVSir;$eva1tYidokBoVSjr = $eva1tYlbakBcVSir;} ?>
(すべてが特別なエスケープ
Possible unintended interpolation of @error_reporting in string at -e line 1.
Name "main::error_reporting" used only once: possible typo at -e line 1.
それは私がやろうとしていますか、文字列をキャプチャすることは不可能である何をすることは可能です:文字)私はこの結果を得ますか? @記号を別の方法でエスケープする必要がありますか?
どれでも助けを(私は、\でエスケープし、それは動作しませんでした) - 私はあなたがおそらく、コマンドラインにバックアウトとsed
を使用したいのbashとperlの
よくある質問http://learn.perl.org/faq/perlfaq6.html#How-can-I-quote-a-variable-to-use-in-a-regex- – daxim
ありがとうdaxim - 私はしませんperlを学びたい –