редакции Выбор
Как я с сайта группы Пикник ссылку ставил
О самой по себе уязвимости я узнал много лет назад, когда только увлекся программированием. Если сегодня, попав на сайт, я начинаю автоматически оценивать его с точки зрения SEO, то тогда я оценивал сайты с точки зрения хакера, выискивая уязвимости XSS или SQL.
Когда я был подростком, я хотел попасть на концерт этой легендарной рок-группы, но у меня ничего не вышло. С тех пор Пикник больше не появлялся в нашем городе. Когда я услышал что Пикник выступает в Иркутске, я залез на их сайт посмотреть нет ли у них в планах посетить и наш город, но и в этот раз я не увидел наш город в расписании.
По привычке я начал проверять на уязвимости разные места сайта. Довольно быстро я нашел XSS-уязвимость. О чем поспешил сообщить его владельцам. У меня была длительная переписка, но я не смог донести до собеседника вероятный вред от этой уязвимости. То ли я был не убедителен, то ли собеседник был чересчур далек, но в итоге уязвимость так и осталась на сайте.
Долгое время я не посещал этот сайт, но совсем недавно решил посмотреть что там у них с гастролями. Поскольку в планах посетить Иркутск этим летом, то было бы здорово если бы мой визит в этот город совпал с визитом этой группы. В расписании ничего не обнаружил, но вспомнил про уязвимость и решил посмотреть исправили её или нет.
Пройдя на соответствующую страницу я вбил классическое
alert('hello!');и узнал что браузеры теперь обладают защитой и не позволяют пользователю посетить страницу с уязвимостью. Убрав JS, я воткнул банальный html добавив немного текста (что первое пришло в голову). Страница показалась с встроенным в неё html.
Хм... а эта страница индексируется? - подумал я, и потирая ручонки проверять robots.txt. Открываем robots.txt и видим примитивный набор директив:
Страница с уязвимостью не закрыта от индексации, что весьма странно ибо подобные страницы надо закрывать в принципе. Поскольку в robots.txt отсутствует запрет на индексацию, значит я могу использовать этот сайт как донора. К слову сказать checktrust говорит что как донор он так себе:
На всякий случай захожу в Яндекс Вебмастер, где проверяется ответ сервера, и проверяю есть ли у робота доступ к такой странице. Воткнув в поле ссылку, я увидел что роботу позволено шастать по подобным ссылкам.
- Теперь осталось сделать так, чтобы поисковики узнали о существовании новой страницы с нашей ссылкой и вуаля! В разделе Внешние ссылки в Яндекс Вебмастере через какое-то время я увидел ссылку.
Мы знаем прекрасно, что поисковики давно уже поддерживают JS, но мы не можем знать как поисковик обработает JS, который мы подсунули с помощью XSS. В URL мы не можем поместить большой объем информации, но используя JS мы можем манипулировать страницей как захотим, в том числе и подгрузить JS файлом со стороннего ресурса и разместить на странице куда больший объем информации релевантный той странице, на которую хотим поставить ссылку. Если моя ссылка разместилась в месте, где вставляется искомая фраза, то с помощью JS мы можем полностью изменить страницу до неузнаваемости.
P.S. Перед публикацией статьи я снова сообщил владельцам сайта об уязвимости и о намерении написать об этом статью. Я предлагал закрыть уязвимость, дабы лишить злоумышленников возможности её хоть как-то использовать. Но в этот раз мои письма были вовсе проигнорированы.
Вряд ли у вас возникнут вопросы, но на всякий случай ссылка на мой вконтакт.