Добрый день. В логах апача систематически появляются странные запросы. Я думаю, что они генерируются на уровне 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" |