Сайты, уязвимые для XSS, могут быть использованы для фишинга

Как защитить ваш сайт от использования в XSS эксплойтах.

Одной из распространенных уязвимостей безопасности, которую разработчики должны учитывать, является проблема межсайтового скриптинга (XSS). Эксплойт XSS может быть смягчен или защищен с помощью процедур очистки, которые проверяют значения переменных в запросах GET и POST. Также возможны атаки на стороне сервера, но они находятся далеко за рамками здесь. По-видимому, Googlebot и индексация в настоящее время страдают от этой уязвимости.

Фишинг Googlebot?

Хотя атаки XSS могут использоваться для порчи или саботажа веб-сайтов, это также один из методов фишинга. Злоумышленник создает вредоносную ссылку и отправляет пользователям электронное письмо с этой ссылкой на веб-сайт, уязвимый для эксплойтов XSS. Когда пользователь щелкает вредоносную ссылку, сценарий запускается при загрузке страницы. В более новых версиях Chrome есть проверка работоспособности XSS Auditor на URL-адреса, которые в противном случае могли бы обмануть пользователей.

К сожалению, Googlebot в настоящее время работает под управлением Chrome 41, более ранней версии браузера, в которой отсутствует XSS Auditor. Означает ли это, что робот Googlebot уязвим для URL-адресов в стиле фишинга, где злоумышленник может внедрить вредоносный скрипт SEO-атаки? Для Google злоумышленник может использовать JavaScript для внедрения элементов в DOM, таких как обратные ссылки, и, что еще хуже, манипулировать каноническим.

XSS Googlebot эксплойт

SEO (и исследователь безопасности) Том Энтони (Tom Исследователь безопасности) опубликовал доказательство концепции (PoC) для описания успеха метода атаки, в том числе демонстрационные снимки экрана Google Search Console Tool Inspection Tool, отображающие модифицированный исходный код в результате полезной нагрузки. ,Помните, что запуск вредоносного скрипта таким способом может полностью переписать страницу для индексации.

Том описывает, что предпринял надлежащие шаги по выявлению уязвимостей, перечислил график его общения с Google и охарактеризовал ответы. На данном этапе раскрытие Тома — сомнительная перспектива, потому что уязвимость, по-видимому, все еще работает в дикой природе, несмотря на то, что Google в марте сказал ему, что у нее есть «механизмы безопасности» для нее.Исследователи безопасности иногда публикуют 0-дневные (не исправленные) уязвимости, чтобы побудить компании к действию.

Ответ Google

Том отметил, что люди видят доказательства того, что робот Googlebot ожидает обновления, которое предположительно будет включать URL-фильтр XSS Auditor. После того как робот Googlebot обновится до более нового экземпляра Chrome с установленным XSS Auditor, эта атака больше не будет работать. В то же время, Google может индексировать и публиковать вредоносные ссылки в поисковой выдаче, которые невольные пользователи Firefox (у которого в настоящее время нет собственного XSS Auditor) могут предположительно щелкать и получать фишинг.

Мы получили следующее заявление от Google: «Мы благодарны исследователю, который обратил наше внимание на эту проблему. Мы провели расследование и не нашли никаких доказательств того, что этим злоупотребляют, и мы продолжаем сохранять бдительность, чтобы защищать наши системы и вносить улучшения ».

Эксплойты с использованием методов XSS настолько распространены, что это возможно, что где-то происходит. Одновременно правдоподобно, что никто, кроме исследователя, не пробовал это.

Как защититься от XSS-атак

Чтобы предотвратить наиболее распространенные атаки, вам необходимо убедиться, что вредоносный код (Javascript, PHP, SQL и т. Д.) Не будет обработан вашим приложением. Используйте встроенные ожидания значений, такие как гарантия того, что в каждом запросе присутствует только точное число и правильно названный набор переменных. Вы также должны закодировать ограничения типа данных, чтобы проверить входящие значения, прежде чем продолжить.

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

Одно из предложений Google против XSS-атак переносит проверку работоспособности типа данных, как описано выше, на уровень заголовка ответа HTTP с тем, что он называет: Trusted Types . Хотя это еще не было широко распространено, Надежные типы могут в конечном итоге служить важной тактикой для защиты ваших страниц. Однако из-за того, что уязвимость в настоящее время не исправлена, публиковать 0days сложно. По состоянию на май 2019 года Google больше не уязвим для этого эксплойта.