Яндекс считает, что сайт подвергся XSS атаке.
  • В общем, изучаю ситуацию - ко мне, с вопросом обратился знакомый. Суть в том, что его панель вэбмастера забита сообщениями о том, что сайт подвергается XSS атаке. Я просмотрел код сайта, и ссылки данные яндексом в качестве пояснения к сообщению - всё чисто. Ни какой XSS атаке сайт не подвержен. Дополнительно (чтобы и отчёты авторитетных прог представить), я его даже икс-спайдером проверил и просто прошёлся специальной прогой выявляющей XSS уязвимости - всё чисто. В общем, дело оказалось в том, что яндекс посчитал, что выдача сервером страницы с заголовком "HTTP/1.x 200 OK", по "несуществующему" запросу - это и есть удачно проведённая XSS-атака... Уточню, при этом ни какой посторонний код в исходник страницы не встраивается. Сам яндекс тоже пишет в той же панели - "Вредоносный код на сайте не обнаружен". Кстати, в хелпе к панели, в самом же яндексе, даётся чёткое определение для XSS:

    "Данный вид атак направлен на веб-сайты, отображающие вводимые пользователями данные. Вместо попытки получения контроля над базой данных путем ввода вредоносного кода злоумышленник пытается атаковать код самого веб-сайта, внедряя в него вредоносные сегменты..."

    Повторяю, ни какие "вредоносные сегменты" не внедряются, так как контроль за входными данными осуществляется на должном уровне. Знакомый мой, человек весьма доброжелательный к яндексу, вёл переписку с саппортом, мол так и так - "вы не правы, алгоритм выявления XSS не верный - исправьте пожалуйста, если это вызовет затруднения, то я готов прислать работающий алгоритм, реальные выявляющий XSS атаки", в ответ несколько раз приходили отписки, а в конце концов, в очередной раз Платоны ответили:

    "В случае с Вашим сайтом XSS атака не удалась, но посредством ее было создано
    множество мусорных страниц, которые затрудняют индексирование действительно
    полезной информации на сайте. Поэтому рекомендуем запретить индексирование
    страниц, созданных посредством XSS атаки в файле robots.txt.
    "

    После этого ответа, знакомый и обратился ко мне за разъяснениями. Реально получается, что у него на сайте создана система, корректировки запросов, которая пытается выдать наиболее подходящие варианты на ошибочно введённый запрос. Естественно, выдавая код ответа "200 OK". Кстати, и сам яндекс делает то же самое, когда выдаёт ответ на какой-нибудь запрос типа - http://yandex.ru/yandsearch?text=%D0%B2%D0...mp;stpar1=%2Fu0 , с заголовком "200 OK". Получается, какое-то избирательное отношение к ранжированию (я.робот стал заходить на сайт очень редко, при том, что гуглобот смотрит сайт несколько раз в день, яндекс опускает в выдаче сайт пропорционально кол-ву проиндексированных страниц, гугл же индексирует всё, по прежнему, нормально), то что можно яндексу, то нельзя обычному сайту.

    Как выйти из положения? Последовать совету и запретить индексацию в роботс, не вариант - нужно переделывать всю навигацию сайта, да и с размещёнными на разных ресурсах, старыми адресами, могут возникнуть проблемы, одним модреврайтом не обойтись.. Отключать систему корректировки не хочется, она реально помогает людям находить нужную информацию. Уповать на то, что яндекс улучшит алгоритм не приходится, оно им не нужно, судя по другим нововведениям этой ПС. Вообще, кто-нибудь сталкивался с тем, что из-за обнаружения несуществующей XSS инъекции, яндекс "опускал" сайты?
  • Как выйти из положения?


    проверить ответ сервера - ссылка на результат запроса типа впафзьдлвтьабюфьсзфщшукш5325там - HTTP/1.1 302 Found
  • Значит так. Яндекс может быть не так уж и не прав. Проверьте, нет ли комментариев, не привязанных к статьям или темам форумов. Они могут быть не видимы и недоступны в схеме сайта, но проиндексированы с помощью внешних ссылок. У меня такие иногда попадаются. Коонечно отобразить их в случае с моим сайтом невозможно, но ваш движок может это позволять. Попробуйте прямо запросом LEFT JOIN к базе. Слева например комментарии, справа статьи, к которым они должны быть привязаны. Если справа NULL, то вот и ваша атака, о которой говорилось.

    Это конечно же предположение, но возможен и такой вариант. Думаю, что такие случаи ваши инструменты не могут обнаружить.
  • проверить ответ сервера - ссылка на результат


    Хм.. для чего мне ваша ссылка? Заголовки, которые передаются в ответах сервера, я могу видеть и без посторонних сайтов. Более того, заголовки которые выдают сервера я обозначил. Вы действительно прочитали мой пост или ограничились лишь взглядом на название темы?

    Значит так. Яндекс может быть не так уж и не прав. Проверьте, нет ли комментариев, не привязанных к статьям или темам форумов.


    Там, вообще нет ни коментов, ни форумов. Обратите внимание на ответ Платонов - "В случае с Вашим сайтом XSS атака не удалась...".
  • Реально получается, что у него на сайте создана система, корректировки запросов, которая пытается выдать наиболее подходящие варианты на ошибочно введённый запрос. Естественно, выдавая код ответа "200 OK".

    А на фига? Не вижу здесь ничего естественного. В браузере любая страница отобразится нормально при статусе 404. А бот страницу с таким статусом не возьмет. Вот и вся защита.

    Или он в самом деле хотел, чтобы поисковики индексировали любой шлак?
  • А на фига? Не вижу здесь ничего естественного. В браузере любая страница отобразится нормально при статусе 404. А бот страницу с таким статусом не возьмет. Вот и вся защита.

    Или он в самом деле хотел, чтобы поисковики индексировали любой шлак?


    Ну в общем, по тому пути и пошли, выставив заголовки 404. Посмотрю, что получится. Но вопрос-то ещё и в другом - какого рожна обвинили в XSS дырявости, когда её нет? И с чего это яндекс на "любой шлак" позволяет себе выдавать хедер 200 OK, а другие сайты за это гнобит?
  • Но вопрос-то ещё и в другом - какого рожна обвинили в XSS дырявости, когда её нет? И с чего это яндекс на "любой шлак" позволяет себе выдавать хедер 200 OK, а другие сайты за это гнобит?

    Да очень просто: XSS-уязвимость в общем случае – это неверная реакция движка на поддельные параметры в ссылке. Не обязательно она заключается во вредоносном коде или в формировании ссылок на своей странице. То, что индекс ПС был завален хламом, тоже относится к той же категории. Одному из моих клиентов таким хламом плохо сработанный сайт так "задвинули", еле отбил.

    Что касается Яндекса, чушь полная. :) Кто должен реализовать соблюдение HTTP-протокола – программист или ПС за него? Кто заинтересован в качестве индексирования сайта – вебмастер или поисковик? Кому хороший трафик нужен – Яндексу? Так он на трафик не жалуется, трафика у него хватает.

    Кого это он гнобит и в чем это выражается? Мог бы и не реагировать, не его забота – забиваете хламом индекс, ну и флаг вам в руки, получите такой же трафик, какой сайт в индексе. По одной фиге с маслом на каждый дубликат страницы. А когда уж очень много набьется, выкинуть всё сразу – что там, в самом деле, индексировать, сплошной хлам, только место занимает...

    "Позволяет себе выдавать хедер 200 OK" – скажите, а для кого он будет выдавать 404? Учитывая, что браузерам это все равно – для кого?
  • То, что индекс ПС был завален хламом, тоже относится к той же категории. Одному из моих клиентов таким хламом плохо сработанный сайт так "задвинули", еле отбил.


    Значит и вы сталкивались с этой проблемой? А вот я первый раз с этим столкнулся, хотя когда-то (года три назад) сам разрабатывал алгоритм для автогенерации сайтов на десятки тысяч страниц, но тогда ни каких санкций не получал от ПС.

    Кстати, на описываемом сайте, весь "хлам" принадлежит одной и той же тематике, для людей это как бы полезно. Например человек может набирать:
    Mazda
    Мазда
    Masda
    Masda7
    cx7 Мазда
    Nisan CX7
    Мазда SUV
    и т.д, вплоть до цифр обозначения двигателя.
    Страница генерируется на основе попытки подобрать наиболее подходящий вариант под эти запросы. Так разве это хлам? Почему надо выдавать ошибку 404, если информация-то вроде-как найдена?

    Понятно, что это вопрос не к Вам, но всё-же, коли уж Вы сами решились защищать яндекс, то представьте свою точку зрения на данный вопрос.

Привет, незнакомец!

Похоже, Вы новенький! Чтобы начать обсуждение, кликните на одну из кнопок ниже ;)

Войти с помощью OpenID

Категории

В этой теме: