Следующая новость
Предыдущая новость

Hack the web! Как проверить сайт на уязвимости и как их эксплуатируют

27.02.2020 13:32
Hack the web! Как проверить сайт на уязвимости и как их эксплуатируют

Содержание статьи

  • Общие принципы взлома сайтов
  • Разведка
  • WordPress
  • Joomla
  • Drupal и другие CMS
  • Удар по самописным сайтам
  • Советы по защите
  • Что дальше

Взлом сайтов — один из самых распространенных типов атак. Если тебе интересно, как взламывают сайты и на что нужно обратить внимание, чтобы защитить свой ресурс, то эта статья для тебя. Здесь я разберу самые начала пентеста веб-приложений и на примерах покажу, как работать с популярными движками.

На январь 2020 года в интернете насчитывается 1,74 миллиарда сайтов, и многие из них уязвимы. Десять лет назад исследование Web Application Security Consortium показало, что минимум 13% сайтов можно взломать автоматически. А в недавнем исследовании Positive Technologies сообщается об уязвимости 19% протестированных веб-приложений. Поистине огромный простор для действий злоумышленников!

Общие принципы взлома сайтов

По структуре сайты делятся на три больших класса:

  • самописные (сделанные вручную на HTML, произведенные статическим генератором типа Jekyll или собранные в программе-конструкторе типа Adobe Dreamweaver);
  • сделанные в онлайновых конструкторах (в основном это сайты-визитки без каких-либо баз данных и передаваемых полей);
  • работающие на готовых CMS (Content Management System, системах управления контентом).

Встречаются еще самодельные CMS, созданные для конкретного сайта, но это сейчас стало редкостью — позволить себе поддержку своей системы могут только самые крупные ресурсы, и оправдать связанные с этим затраты непросто.

В основе большинства современных сайтов — готовые движки. Например, Xakep.ru не исключение: он работает на популярной системе WordPress (по крайней мере сейчас, в 2020 году).

С точки зрения атакующего, движки сайтов ничем не отличаются от других сервисов и служб. Их исходный код обычно находится в общем доступе, и любой исследователь может проанализировать его на ошибки, в том числе бреши в безопасности. Поэтому сайты на CMS редко становятся жертвами целевой атаки. Чаще их ломают массово.

Такой взлом автоматизирован и обычно протекает по следующей схеме: злоумышленник находит уязвимость (самостоятельно или просто гуглит что-то свежее). Затем он делает эксплоит или берет готовый и пишет специализированный бот. Этот бот ищет указанную дыру на всех сайтах подряд в заданном диапазоне и пытается эксплуатировать ее.

Казалось бы, для защиты от автоматических атак надо всего-то поддерживать программное обеспечение в актуальном состоянии, но в реальности CMS обрастает разными дополнениями, и уследить за всеми становится сложно.

При пентесте стоит несколько иная задача — проверить конкретный сайт на уязвимости. Об этом мы и поговорим.

WARNING

Статья предназначена для «белых хакеров», профессиональных пентестеров и руководителей службы информационной безопасности (CISO). Ни автор, ни редакция не несут ответственности за любой возможный вред, причиненный этим материалом.

Разведка

Прежде чем пытаться атаковать цель, нужно собрать информацию о ней. Для этого хорошо подходит инструмент WhatWeb. Эта утилита предоставляет подробную информацию о CMS жертвы и использованных ей веб-инструментах.

Советую запускать WhatWeb с ключом , указывая после него значение 3 или 4. Разница между ними только в том, что во втором случае WhatWeb будет сканировать еще и субдиректории. Имей в виду, что оба варианта задают агрессивный метод опросов — со всеми вытекающими, а точнее «втекающими» на сервер логами.

Вот пример запуска и собранных ответов:

$ whatweb -a3 https://URL
https://URL [200 OK] Cookies[PHPSESSID], Country[UNITED KINGDOM][GB], Frame, HTML5, JQuery[1.9.0,2.2.3], Open-Graph-Protocol[website], PHP[7.1.33], PasswordField[password], Script[application/ld+json,text/javascript], Title[Bower Partnerships | Best Equity Release Broker Customer Service 2019], UncommonHeaders[link,x-robots-tag,alt-svc], WordPress, X-Powered-By[PHP/7.1.33], X-UA-Compatible[IE=EDGE]

Здесь мы видим, что это сайт британской компании, сделанный на WordPress, используется PHP v. 7.1.33 и jQuery 1.9.0, 2.2.3. Неплохо для начала!

Если у тебя нет VPN или ты просто не хочешь заморачиваться с установкой, обрати внимание на онлайновую версию WhatWeb.

Hack the web! Как проверить сайт на уязвимости и как их эксплуатируют
WhatWeb online

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

Если тебе достаточно определить только название CMS, то для этого есть отдельные сервисы, даже русскоязычные.

Вот свежая статистика популярности различных CMS в рунете:

  • WordPress — 58,12%;
  • Joomla — 17,12%;
  • OpenCart — 4,65%;
  • Drupal — 3,75%;
  • Wix — 3,74%;
  • MODX Revolution — 2,81%;
  • MODX Evolution — 2,76%;
  • Nethouse — 2,23%;
  • прочие — 4,78%.

Продолжение доступно только участникам

Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».

Присоединяйся к сообществу «Xakep.ru»!

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

1 год

5380 р.

1 месяц

720 р.

Я уже участник «Xakep.ru»

Источник

Последние новости