Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.11.2013, 13:22
Новичок на форуме
Отправить личное сообщение для AndrewP Посмотреть профиль Найти все сообщения от AndrewP
 
Регистрация: 27.11.2013
Сообщений: 3

К запросам http добавляются функции из файла mootools.js
Добрый день. В логах апача систематически появляются странные запросы. Я думаю, что они генерируются на уровне Java Script

В сутки из сотен пользователей несколько отправляют в одну две секунды пачку запросов http, к которым добавляются функции из файла mootools.js!

Как они туда попадают - ума не приложу.


Одному заходу на обычную страницу соответствует порция такого спама. Браузеры и ip разные.

Заметил закономерность: если реферер "/razdel/kategoriya" то
код добавляется к строке "/razdel/". Отсекается все, что идет после последнего слеша и вместо него добавляется код функций mootools.

Помогите!!!
Уже настолько отчаялся, что думаю перейти на jQuery.


Я думаю, что это не целенаправленный взлом, потому что:
1. Пользователи с проблемных ip совершают реальные действия(оформляют заказы, указывают реальные номера телефонов и т.п.)

2. Какой то сомнительный взлом получается - функции mootools передаются по http...

3. Ситуация повторяется уже больше нескольких недель практически без изменений.

Вот пример одного из таких случаев
Код:
[27.ноя.2013:08:26:07 +0200] "GET /function(fn,%20bind)%7BArray.forEach(this,%20fn,%20bind);return%20this;%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:07 +0200] "GET /function()%7Bvar%20i%20=%20this.length,%20clone%20=%20new%20Array(i);while%20(i--)%20clone[i]%20=%20cloneOf(this[i]);return%20clone;%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:07 +0200] "GET /function%20Array()%20%7B%20[native%20code]%20%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:07 +0200] "GET /function(methodName)%7Bvar%20args%20=%20Array.slice(arguments,%201);return%20this.map(function(item)%7Breturn%20item[methodName].apply(item,%20args);%7D);%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:07 +0200] "GET /function()%7Breturn%20this.filter(function(item)%7Breturn%20item%20!=%20null;%7D);%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:07 +0200] "GET /function()%7Breturn%20lower;%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:07 +0200] "GET /function()%7Breturn%20(this.length)%20?%20this[Number.random(0,%20this.length%20-%201)]%20:%20null;} HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:07 +0200] "GET /function(object)%7Bvar%20result%20=%20%7B%7D;for%20(var%20i%20=%200,%20l%20=%20this.length;%20i%20%3C%20l;%20i++)%7Bfor%20(var%20key%20in%20object)%7Bif%20(object[key](this[i]))%7Bresult[key]%20=%20this[i];delete%20object[key];break;%7D%7D%7Dreturn%20result;%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:07 +0200] "GET /function(item,%20from)%7Breturn%20this.indexOf(item,%20from)%20!=%20-1;%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:07 +0200] "GET /function(array)%7Bthis.push.apply(this,%20array);return%20this;%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:08 +0200] "GET /function(keys)%7Bvar%20obj%20=%20%7B%7D,%20length%20=%20Math.min(this.length,%20keys.length);for%20(var%20i%20=%200;%20i%20%3C%20length;%20i++)%20obj[keys[i]]%20=%20this[i];return%20obj;%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:08 +0200] "GET /function()%7Breturn%20(this.length)%20?%20this[this.length%20-%201]%20:%20null;} HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:08 +0200] "GET /function()%7Bfor%20(var%20i%20=%200,%20l%20=%20this.length;%20i%20%3C%20l;%20i++)%7Bif%20(this[i]%20!=%20null)%20return%20this[i];%7Dreturn%20null;%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:08 +0200] "GET /function(array)%7Bfor%20(var%20i%20=%200,%20l%20=%20array.length;%20i%20%3C%20l;%20i++)%20this.include(array[i]);return%20this;%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:08 +0200] "GET /function()%7Bthis.length%20=%200;return%20this;%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:08 +0200] "GET /function(item)%7Bfor%20(var%20i%20=%20this.length;%20i--;)%7Bif%20(this[i]%20===%20item)%20this.splice(i,%201);%7Dreturn%20this;%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:08 +0200] "GET /function(item)%7Bif%20(!this.contains(item))%20this.push(item);return%20this;%7D HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:08 +0200] "GET /function()%7Bvar%20array%20=%20[];for%20(var%20i%20=%200,%20l%20=%20this.length;%20i%20%3C%20l;%20i++)%7Bvar%20type%20=%20typeOf(this[i]);if%20(type%20==%20'null')%20continue;array%20=%20array.concat((type%20==%20'array'%20%7C%7C%20type%20==%20'collection'%20%7C%7C%20type%20==%20'arguments'%20%7C%7C%20instanceOf(this[i],%20Array))%20?%20Array.flatten(this[i])%20:%20this[i]);}return%20array;} HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:09 +0200] "GET /function(array)%7Bif%20(this.length%20!=%203)%20return%20null;var%20rgb%20=%20this.map(function(value)%7Bif%20(value.length%20==%201)%20value%20+=%20value;return%20value.toInt(16);%7D);return%20(array)%20?%20rgb%20:%20'rgb('%20+%20rgb%20+%20')';} HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:09 +0200] "GET /function(array)%7Bif%20(this.length%20%3C%203)%20return%20null;if%20(this.length%20==%204%20&&%20this[3]%20==%200%20&&%20!array)%20return%20'transparent';var%20hex%20=%20[];for%20(var%20i%20=%200;%20i%20%3C%203;%20i++)%7Bvar%20bit%20=%20(this[i]%20-%200).toString(16);hex.push((bit.length%20==%201)%20?%20'0'%20+%20bit%20:%20bit);}return%20(array)%20?%20hex%20:%20' HTTP/1.0" 301 20  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
[27.ноя.2013:08:26:09 +0200] "GET / HTTP/1.0" 200 20989  "Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12"
Ответить с цитированием
  #2 (permalink)  
Старый 27.11.2013, 13:32
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

AndrewP,
может где () круглые скобки пропустил вот функция и передаётся а не её исполнение?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к функции из другого js файла sitesv Events/DOM/Window 3 29.04.2013 16:28
Два файла, две функции, но с одним именем Janom Общие вопросы Javascript 19 31.01.2013 10:46
Выполнение функции из другого *.js файла raler jQuery 5 20.04.2012 13:56
Передача xml файла в js не через HTTP. prowoke Общие вопросы Javascript 9 30.06.2011 02:36
Вызов функции из файла. Phoenix Общие вопросы Javascript 2 21.11.2007 22:49