Как найти сайт с дырами

В своих прошлых статьях я нередко упоминал об различного рода уявимостях на сайтах. Это «Уязвимость в AdsManager на практике» и «Пример уязвимости в JCE», а также более обобщенно в других материалах. Для тех, кто не знает чем бекдор отличается от XSS я посвящу уже следующую статью «Описание распространненых уязвимостей».

Поиск уязвимостей на сайте, через которые проник вирус

Поиск уязвимостей на сайте, через которые проник вирус

Здесь я уделю внимание поиску дыр на сайте, а также некоторым советам, как их залатать от дальнейшего проникновения вирусов.

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

Как найти уязвимость по логам?

Допустим,что вирус уже проник на сайт. Мы успешно (наверно) удалили все вирусы с сайта и задумались над защитой от дальнейшего вторжения. Здесь могут помочь мои советы из статьи «Как защитить сайт от попадания вирусов». Многие владельцы веб-страниц хотят знать, как вирус попал на сайт и как предотвратить заражение в дальнейшем. В таком случае требуется более детальный анализ появления вирусов на сайте. И я расскажу простой метод  поиска уязвимости, который поможет даже начинающему веб-мастеру.

Итак, для начала нам надо найти логи сервера. По умолчанию они находятся в отдельной папке logs выше директории сайта. Чаще всего имеют имена файлов access_log и error_log. Что делать, если не смогли найти их?

— Вариант первый, они у вас могут быть не включены в настройках сервера, поэтому стоит включить генерацию отчетов.

— Вариант второй, запросить логи у техподдержки, они подскажут, как вам поступить дальше.

Ищем шеллы на сайте!

Будем считать, что мы нашли необходимые файлы. Теперь нам надо найти шелл на сайте, именно сам исполняемый файл, а не системные файлы со вставками вредоносного кода. Мы смотрим на дату последнего изменения данного файла, и именно за эту дату стоит открыть файл access_log в удобном текстовом редакторе. Далее воспользуемсся поиском и введем имя нашего вредоносного файла. Находим упоминание в логе и смотрим за происшествиями, которые произошли до запуска исполняемого файла, особенно с того же айпи.

Если хорошо вчитаться в логи, то можно воспроизвести моменты атаки и таким образом найти уязвимый код или действия, повлекшие взлом на сайте. К примеру, часто бывает, что взламывают админку тупым перебором паролей, а всё из-за того, что стоит примитивный пароль «12345». 

Таким образом мы узнаем, через какой компонент или файл вирус проник на сайт, а также если постараемся, то заделаем брешь на сайте. Если это какой-нибудь известный плагин, то решение проблемы можно поискать в интернете,  если же малоивестный или самописный, редактировать и анализировать придется вручную, или же обратиться к профессионалам безопасности.

Проникновение вирусов через POST запросы

Наверное главным недостатком логов будет проблемность обнаружить данные, передаваемые через POST. Многие вирусы стали достаточно хитрыми и маскируются под модули и плагины системы управления сайтом. Как результат, в логах обычные обращение к страницам, будь то главная или внутренние ссылки. В таких случаях необходимо устанавливать на сервер дополнительные модули захвата пост-данных, либо переключать логирование в уровни trace. При этом будьте готовы, что файлы логов станут занимать ну очень много места! При таком анализе и дешифровке кода можно восстановить полную ситуацию взлома на сайте. Однако многие хостинги с неохотой идут на уступки в выдаче необхрдимых логов. Поэтому этот вариант больше подходит для выделенных серверов.

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

Поиск уязвимостей аудитом безопасности

А что если мы собираемся обезопасить наш сайт заранее, а не ждать, пока вирусы проникнут на вебсайт.

Тут два пути поиска потенциальных дыр на сайте. Первый из них анализ файлов и кода, а также компонентов и модулей. В первую очередь стоит проверять проверки загрузки файлов на сайт, а также фильтрацию всех входных данных. Это очень трудоемкое занятие, и явно не подходит рядовому пользователю. Тут могут справиться только настоящие асы.

Второй вариант подразумевает отсутствие доступов к сайту, и мы будем пытаться всеми методами взломать сайт. Тут можно воспользоваться сканерами уязвимостей. В итоге если мы обнаружим потенциальное место для взлома, тогда сможем задуматься об устранении дыры в сайте.

Однако даже все эти методы не дают 100% гарантии отсутствия уязвимостей. И чем больше объем функционала сайта, тем больше потенциальных вариантов уязвимостей. Даже программным методом перебор всех уязвимостей может занять от нескольких суток до месяцев.

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

Как узнать, есть ли на сайте уязвимости

У многих предпринимателей есть свои интернет-проекты, для большинства из которых создаются отдельные сайты. Однако далеко не все владельцы сайтов всерьез задумываются о кибербезопасности. Данный материал будет полезен людям, которые хотят выявить все уязвимые места и свести к минимуму риск взлома собственного сайта.

  • Поиск уязвимостей на сайте – зачем это нужно?
  • Поиск уязвимостей на сайте – как это можно сделать?
    • О сервисе Spyse
    • О сервисе Spyse – преимущества, недостатки, особенности, возможности
    • О сервисе Spyse – примеры использования
  • Советы и выводы

Поиск уязвимостей на сайте – зачем это нужно?

Сайт – это одна из составляющих любого интернет-проекта. Сайт необходим для поддержания продаж и репутации компании или отдельного человека. Но у владельцев веб-сайтов далеко не всегда хватает знаний, средств или и того и другого для обеспечения должного уровня безопасности.

Если на сайте есть уязвимость, специализированный бот без особых проблем ее найдет и установит в слабое место вирусный файл, который будет делать свои дела в удаленном режиме. Подобные вирусы называются шеллами. Кроме того, хакеры без особых проблем смогут взломать уязвимый сайт и украсть конфиденциальные данные.

Поиск уязвимостей на сайте – зачем это нужно? - 2

Если вовремя не нейтрализовать имеющиеся уязвимости, поисковые системы добавят веб-сайту негативную отметку «Возможно, данный сайт был взломан. Его посещение небезопасно». Из-за наличия данной отметки сайт опустится на самое дно поисковой выдачи. Кроме того, уязвимости на сайте могут привести к:

  • Значительному уменьшению продаж и падению получаемой прибыли.
  • Блокировке сайта хостинг-провайдером.
  • Блокировке сайта наиболее популярными браузерами.
  • Если компания хранит на своем сайте конфиденциальные данные клиентов, утечка информации, возникшая из-за наличия уязвимостей, может довести до суда и действительно крупных штрафов.

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

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

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

Поиск уязвимостей на сайте – как это можно сделать?

Специализированные программы помогают найти слабые места сайта на различных стадиях его развития и существования. Стоит отметить, что подобные программы используются как владельцами сайтов, так и хакерами. Одни хотят обезопасить свой веб-сайт, а другие – найти «дыру» и запустить туда вирус.

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

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

Преимущества

  • При сканировании сервера умеют обходить запрет на сканирование по локации.
  • Использовать данные, предоставленные сервисом, можно как через веб-интерфейс, так и через API.
  • Наличие скоринга, который позволяет быстро проанализировать полученные в процессе сканирования данные.
  • Наличие службы технической поддержки.

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

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

Чтобы узнать, есть ли на вашем сайте или на интересующей вас веб-странице уязвимости, для начала необходимо войти на официальный сайт сервиса. Чтобы в дальнейшем видеть всю информацию о сайте, нужно зарегистрироваться. Для этого нажмите на кнопку «Sign Up», расположенную справа вверху, введите действующий адрес электронной почты и придумайте пароль.

После регистрации перед вами появится поисковая строка, в которую можно будет ввести название домена, IP-адрес, AS, CIDR, SSL-сертификат, название организации и так далее. Для примера введем в предоставленное поле домен «ru.wikipedia.org».

О сервисе Spyse – примеры использования

После нажатия на кнопку поиска на экране появится все информация об указанном домене. В левой части указан рейтинг безопасности сайта – Spyse Scoring. В данном случае значение равно 100, что говорит об отсутствии каких-либо уязвимостей.

О сервисе Spyse – примеры использования - 2

Здесь же можно увидеть IP-адрес домена, узнать название организации и геолокацию. Ниже можно найти все ссылки, имеющиеся на сайте, а также список доменов с аналогичными IP-адресами, MX и NS-серверами.

Если на проверяемом сайте будут обнаружены уязвимости, оценка безопасности будет меньше 100 баллов. В любом подобном случае на странице с результатами проверки появится блок под названием «CVE», в котором можно будет увидеть имеющиеся недочеты с их подробным описанием.

Если не уделять должного внимания безопасности сайта, это может обернуться массой проблем: от падения продаж до судебных разбирательств. Чтобы потом не разгребать проблемы, необходимо заранее предотвратить попадание на сайт вируса путем поиска имеющихся уязвимостей. Лучше всего с этим справится специализированный онлайн-сервис Spyse, который буквально за пару минут просканирует сайт и выдаст оценку его безопасности.

Как багхантеры ищут уязвимости: лайфхаки и неочевидные нюансы

Время на прочтение
7 мин

Количество просмотров 5.5K

Изображение сгенерировано нейросетью Midjourney
Изображение сгенерировано нейросетью Midjourney

Багхантинг — очень интересное занятие (по моему скромному мнению 🙂). Никогда не знаешь, какую уязвимость удастся найти сегодня. Каждый белый хакер уникален и имеет собственный стиль, так же как художники, учителя и специалисты любого другого профиля.

Тяжелым трудом приобретаются необходимые навыки и оттачиваются техники поиска уязвимостей определенных классов. В случае успеха приложенные усилия окупаются наградой: можно получить крупное денежное вознаграждение.

Пример моих выплат с платформы Standoff 365 Bug Bounty (standoff365.com/#bug-bounty)

Пример моих выплат с платформы Standoff 365 Bug Bounty (standoff365.com/#bug-bounty)

Дисклеймер

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


Статья будет интересна прежде всего багхантерам-новичкам. Начнем с XSS-уязвимостей: стандартные инструменты (взять хотя бы консоль браузера) помогут найти брешь немного нестандартным способом. С хранимыми XSS, когда полезная нагрузка выглядит не сложнее, чем '"><img src=x onerror=alert();>,все предельно понятно. В месте, где нет фильтрации, достаточно вставить этот JavaScript-код — и XSS сработает. Однако бывает так, что в результате действий пользователя полезная нагрузка может оказаться в теге <script>, заранее расположенном на странице. Такие XSS видно не сразу, поэтому приходится использовать payload типа '-alert()-' либо "-alert()-" (или другие, нужно смотреть по ситуации). Я детектирую подобные XSS-уязвимости с помощью стандартного веб-инспектора Safari, что сильно упрощает поиск.

Ошибки в консоли помогают обнаруживать уязвимости

Ошибки в консоли помогают обнаруживать уязвимости

Если вы вставили полезную нагрузку и веб-инспектор показывает ошибку JavaScript, значит, есть огромная вероятность найти XSS-уязвимость. Все просто: '"><img src=x onerror=alert();>, добавленный в существующий тег <script>, нарушает синтаксис языка своими кавычками, и JavaScript выдает ошибку.

Что касается SSRF-уязвимостей, которые позволяют отправлять запросы от имени сервера, то для их проверки я люблю использовать payload https://0/, который эквивалентен https://localhost или https://127.0.0.1. Максимально просто, но про этот способ исследователи безопасности почему-то всегда забывают. Еще больше таких же интересных полезных нагрузок можно найти здесь.

Самый нестандартный метод поиска логических уязвимостей предложил исследователь под ником @OldPassword. Ранее с этой техникой я не сталкивался, поэтому решил рассказать о ней в статье. Может быть, помните, как в одной популярной отечественной социальной сети была обнаружена уязвимость, позволяющая отмечать себя на фотографиях любых пользователей. До сих пор неизвестно, как она попала в сеть, но люди массово стали отмечаться на фотографиях знаменитостей. Брешь оперативно закрыли, и о проблеме быстро забыли. Пообщавшись с исследователем, который обнаружил эту уязвимость, я узнал, как именно он нашел небезопасную прямую ссылку на объект — IDOR. Багхантер не применял никаких инструментов вроде Burp Suite Professional, а воспользовался методом копирования кнопки. Он буквально скопировал кнопку «Отметить на фотографии» под той фотографией в соцсети, где такая кнопка была, и добавил ее под фотографию знаменитости, где, согласно логике работы приложения, ее быть не должно. Так у багхантера появилась возможность отмечать себя на фото: при нажатии кнопки вызывалась форма — все как положено.

Вот как выглядел код:

<a id="pv_tag_link" onclick="stManager.add(['phototag.js', 'phototag.css', 'tagger.css', 'tagger.js'], function() { Phototag.startTag(); })">Отметить человека</a>

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

Есть много способов обнаружения уязвимостей типа race condition (ошибка проектирования приложения, при которой его работа зависит от того, в каком порядке выполняются части кода). Как правило, их проверяют на одном из действий, например в функции вывода денежных средств. При запуске Intruder вместо одной выплаты оформляется две. Сейчас уже почти нет сервисов и приложений, где бы этот метод был рабочим. Результативен (пока!) похожий сценарий: имея положительный баланс веб-кошелька, можно одновременно совершить покупку и вывести средства. Race condition в этом случае может сработать несмотря на то, что в некоторых местах сайта уязвимость может быть исправлена ранее. Вы удивитесь, но обычный curl — излюбленный инструмент злоумышленников для проведения атак race condition, так как он самый быстрый и гибкий. Правильно заметил Исаак Дойчер, гениальность — в простоте.

curl 'https://lpeyixg5xj735njqsh1pk6p9q0wrkj88.oastify.com' -H 'User-Agent: cur1' -H 'Cookie: _fl_sessionid={session_id}' --data 'authenticity_token={authenticity_token}&user%5Bemail%5D={email_address_7}' & curl 'https://lpeyixg5xj735njqsh1pk6p9q0wrkj88.oastify.com' -H 'User-Agent: cur1' -H 'Cookie: _fl_sessionid={session_id}' --data 'authenticity_token={authenticity_token}&user%5Bemail%5D={email_address_8}' & curl 'https://lpeyixg5xj735njqsh1pk6p9q0wrkj88.oastify.com' -H 'User-Agent: cur1' -H 'Cookie: _fl_sessionid={session_id}' --data 'authenticity_token={authenticity_token}&user%5Bemail%5D={email_address_9}' & curl 'https://lpeyixg5xj735njqsh1pk6p9q0wrkj88.oastify.com' -H 'User-Agent: cur1' -H 'Cookie: _fl_sessionid={session_id}' --data 'authenticity_token={authenticity_token}&user%5Bemail%5D={email_address_10}'

Без практики — никуда!

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

Главная страница сайта

Главная страница сайта

Приоткрою завесу тайны и расскажу лишь про те уязвимости, которые можно найти на сайте прямо сейчас (в дальнейшем буду добавлять новые). Сайт представляет собой простейший блог на PHP, посвященный космосу. Веб-страницы верстались с помощью Bootstrap. На сайте есть вход через Telegram, личный кабинет пользователя и фотогалерея. Несмотря на более чем скромную функциональность, там уже заложено десять уязвимостей.

XSS в редиректе

Одну из самых распространенных уязвимостей можно найти на главной странице. Взгляд внимательного читателя определенно привлечет странная ссылка в конце статьи, указывающая на источник информации. Дело в том, что текст о телескопе взят с официального сайта NASA.

Если изучить ссылку, можно найти простейшую XSS-уязвимость, которая выглядит примерно так:

Странная ссылка

Странная ссылка

Такие уязвимости периодически встречаются в скоупах программ bug bounty, поэтому их стоит приносить и репортить. Давайте разберемся, почему она работает.

Исходный код скрипта, отвечающего за редирект

Исходный код скрипта, отвечающего за редирект

На скриншоте видно, что редирект осуществляется с помощью JavaScript. При этом нет валидации параметра $_GET['url']. Полезная нагрузка вида javascript:alert();// не работает в хедере Location, поэтому в будущем я рекомендую использовать его. В нашем случае код написан именно так, как делать не надо. Таким образом, имеет смысл всегда листать страницу до конца, потому что проблема может скрываться в самом последнем предложении.

Утечка Telegram ID

Эта уязвимость опасна тем, что позволяет злоумышленникам проводить дальнейшие атаки на пользователей системы. Зная ID Telegram-аккаунта, они могут получить более подробную информацию о пользователях. В идеале, конечно, такие данные следует скрывать. На главной странице сайта находится блок, в котором показываются последние зарегистрированные пользователи.

Последние зарегистрированные на сайте пользователи

Последние зарегистрированные на сайте пользователи

Если внимательно изучить код этого блока (выделен на скриншоте синим), можно заметить в нем атрибут userid, из-за которого происходит утечка ID пользователей, вошедших на сайт через Telegram. На момент публикации статьи я исправил эту уязвимость, чтобы ID не утекали.

Причина утечки данных

Причина утечки данных

IDOR на удаление фотографий

Вот где пригодится userid (ниже представлен запрос на удаление фотографий): GET- параметр userid может быть произвольным, а значит, пользователь может удалять чужие фотографии из галереи.

Удаление фотографий пользователя 316559347

Удаление фотографий пользователя 316559347
Удаление фотографий пользователя 563527258
Удаление фотографий пользователя 563527258

SSRF-уязвимости

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

Личный кабинет пользователя

Личный кабинет пользователя

В самой функциональности есть SSRF-уязвимость. Она эксплуатируется максимально просто, хотя и в два этапа. Я это сделал для того, чтобы исследователи могли поэкспериментировать с ней и приобрести необходимый опыт. На практике встретить уязвимость, позволяющую читать локальные файлы, достаточно сложно. Обычно SSRF дает доступ к внутренним узлам, а схема file:/// остается недоступной.

Запрос на загрузку фотографии

Запрос на загрузку фотографии

После этого в галерее появляется непрогрузившаяся фотография, которая выглядит так:

И содержимое фотографии, то есть содержимое файла /etc/hosts:

Фотография, открытая через блокнот

Фотография, открытая через блокнот

Логические уязвимости

Может быть ситуация, когда вход на сайт осуществляется с помощью Telegram-аккаунта, у которого нет логина. Тогда пользователь сам должен ввести короткое имя своего аккаунта. И в этом случае возникает ошибка (exception), указывающая, что username не может быть равен null.

Ошибки, возникающие в процессе работы приложения

Ошибки, возникающие в процессе работы приложения

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

Утечка исходного кода в фотографии

Утечка исходного кода в фотографии

DoS-уязвимости

Если с помощью Intruder рассылать запросы слишком быстро, можно проверить веб-сайт, например фотогалерею, на устойчивость к DoS-атаке. Intruder — это один из инструментов Burp Suite Professional, с помощью которого пользователи могут быстро отправлять запросы, делать перебор различных параметров в запросе. Галерея будет грузиться бесконечно долго и, возможно, не загрузится вовсе. За обнаружение уязвимостей этого класса чаще всего платят минимальное вознаграждение. Но, думаю, если речь будет идти о целом разделе сайта, можно рассчитывать на достойную награду. Например, один из багхантеров получил за найденную DoS-уязвимость 1000 $.

Демонстрация атаки на галерею

Демонстрация атаки на галерею
Демонстрация атаки
Демонстрация атаки

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

Результат атаки

Результат атаки

Охота за багами начинается… сейчас

Чтобы стать крутым багхантером, жизненно важен опыт. Цель моей работы состояла в том, чтобы помочь максимально просто и быстро получить опыт по поиску багов. На практике я рассмотрел самые популярные уязвимости. Тестовый стенд уже доступен. Более того, я дополнил его уязвимостями, не описанными в статье. Если хотите попрактиковаться, предлагаю начать прямо сейчас! Найденные уязвимости можете смело репортить в комментариях 🙂


Автор: yurasikkkkk

Советуем подписаться на его канал, посвященный багхантингу.

05 декабря 2022

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

Уязвимости на сайте: самые слабые места

Перед тем, как найти уязвимость на сайте, стоит изучить наиболее распространенные недостатки системы, которые программы сканирования отмечают в первую очередь. Поиск уязвимостей чаще всего показывает, что сайт:

  1. Открыт для инъекций (SQL, LDAP, OS и др.), т. е. ввода и выполнения непроверенных данных.
  2. Имеет проблемы с аутентификацией и управлением сеансами.
  3. Не защищен от межсайтового скриптинга (XSS).
  4. Имеет проблемы с настройкой прав доступа.
  5. Использует уязвимую конфигурацию и компоненты.
  6. Недостаточно защищен от атак.
  7. Подвержен риску межсайтовой подделки запросов.
  8. Передает данные в открытом виде, не использует инструменты генерации/управления паролями.

Перечислить все возможные угрозы не получится, но указанные нюансы стоит проверить в любом случае. Это самые «любимые» у хакеров пути вмешательства.

Как найти уязвимости на сайте.

ТОП-5 бесплатных сканеров для поиска уязвимостей на сайте

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

№1. SiteGuarding.com

Приложение совместимо со многими CMS: WordPress, Joomla, Drupal, Magento и пр. Может просканировать сайт на наличие вирусов и других вредоносных программ, обнаружить спам-инъекции, проверить, не внесен ли домен в черные списки и актуальны ли используемые версии ПО, проанализировать внутренние ссылки и мн. др. SiteGuarding также позволяет удалить зараженные компоненты. Сложноват в настройке, но результаты сканирования имеют очень удобное отображение.

№2. Sucuri SiteCheck

Популярный сканер уязвимостей, который работает с большинством современных движков и довольно прост в управлении. Он проводит быстрые сканирования, но весьма ограничен в функционале и потому дает мало информации. Sucuri проверяет, присутствует ли сайт в списках безопасного просмотра Google и Яндекс, ищет его в блэк-листах, находит вредоносное ПО и очищает от него веб-сервер, сообщает об отсутствии файервола, мониторинга и некоторых служб.

№3. H-X Scanner

Онлайн-сканер работает в двух режимах. Быстрый занимает около пяти минут, результаты отображаются тут же на странице. В нормально режиме сканирование может длиться до нескольких часов, в зависимости от объема сайта и его сложности. Сервис не требует регистрации: достаточно ввести домен, который нужно проверить, и указать электронную почту, на которую придет отчет при выборе нормального поиска. Подходит для ручной верификации уязвимостей, отчетная документация довольно подробная и с ней удобно работать.

№4. Observatory

Сканер от разработчиков проекта Mozilla, доступный для простого пользователя благодаря понятному интерфейсу и наглядным отчетам. Функционал включает в себя тестирование протоколов безопасности SSL/TLS, проверку предварительной загрузки HSTS, анализ HTTP-заголовков на предмет уязвимостей и др. Сервисом можно пользоваться прямо через окно браузера, потребуется только веб-адрес сайта.

№5. ImmuniWeb

Довольно серьезный инструмент для оценки информационной безопасности сервера, который обслуживает ваш сайт. Сканер проверяет, соответствует ли он требованиям таких стандартов, как PCI DSS и GDRP, анализирует заголовки HTTP и библиотеки интерфейсов, проводит CMS-тесты для ресурсов, построенных на ВордПресс и Друпал. Для бесплатного продукта у него достаточно широкий функционал. Не очень быстрый сканер, но предоставляет удобные информативные отчеты.

Как повысить защищенность сайта

Вот несколько общих рекомендаций, которые стоит соблюдать, чтобы обеспечить безопасность ресурса:

  1. Отслеживайте актуальность используемого ПО и обновляйте его вовремя.
  2. Используйте сложные пароли, периодически их меняйте, не ставьте один и тот же пароль на разные аккаунты и сервисы.
  3. Скачивайте сторонние программы и компоненты только из проверенных источников.
  4. Установите антивирус на сайт и сервер.
  5. Регулярно проводите резервное копирование, храните бэкапы в нескольких экземплярах в независящих друг от друга местах.
  6. Сканируйте сайт на уязвимости не реже одного раза в месяц.

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

Как повысить защищенность сайта.

Заключение

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

AlexDreamer

Guest


  • #1

Взломан сайт. Как найти дыру?

Сразу прошу прощения, если обращаюсь не по адресу. Если кто знает, где нужно задавать такой вопрос, подскажите.

Итак, взломан сайт. Никакого ущерба, просто была изменена главная страница и удалены логи. сайт на 99% состоит из html страничек + несколько php скриптов для подписки на рассылку и самой рассылки. скрипты используют текстовый файл (через fopen) для хранения данных о подписчиках. На хостинге установлен analog 5.22 и webalizer 2.01. О том, чтобы вычислить взломавшего речи не идет, главное найти дыру.

Спасибо, Алексей.

  • #2

AlexDreamer
Дыру найти, не видя сайта или исходников, затруднительно :)

AlexDreamer

Guest


AlexDreamer

Guest


  • #6

Проверь наличие уязвимости посредством

PhpRemoteView

Frenk

Guest


  • #7

Хм. Апач логи ведет какие-нить?

  • #8

Хм. Странно. Скрипткидди, вроде, развернуться особо негде — форма единственная — подписка на рассылку, после нее все обрабатывается, явно, htmlspecialchars… Возможно и впрямь, атаку произвели с другого аккаунта на том же сервере.

  • #9

Может быть, была теоретическая возможность передать через POST какую-нибудь дрянь скрипту maillist.php. Я попробовал заменить (в сохраненном файле тип select на text для объекта country и ввести туда phpinfo() — скрипт выдал просто скобки… Может, можно подобрать какую-нибудь дрянь? Свой select сляпать с «битыми» value для каких-нибудь option и пр… Короче, жаль, что бежать пора… А то бы поэкспериментировал.

AlexDreamer

Guest


  • #10

Автор оригинала: Frenk
Хм. Апач логи ведет какие-нить?

Логи были удалены

  • #11

Да, немного поковырял еще. В скрипте maillist.php не проверяется, что было введено в переменной «штат» на предыдущей странице. Допустим, если я вставляю вместо AL — «BLABLABLA», скрипт послушно показывает: Америка(BLABLABLA).

  • #12

Ashotovich
В этих скриптах дыр нет. А то что ты раскопал, это проверка вводимых значений. Взломать таким образом ничего нельзя.

  • #13

Троян на твоем компе? И ушли пароли куда надо….

  • #14

2 Krom:

Нет — так нет. Я же исходников не видел (хотя видно, что вывод кода штата проходит не через htmlspecialchars, просто стоит addslashes или включены magic quotes — попробуйте туда ввести какие-нибудь теги вроде <br> и т. п., так что все же поковыряться стоит). Просто я показал, что раз есть такие недочеты, то могут быть и более серьезные.
А версия о трояне или сниффере в локальной сети (ежели таковая есть), конечно, вполне правдоподобна.

  • #15

Ashotovich
Я скрипты смотрел, ошибок в защите там нет.

По поводу того, куда копать, AlexDreamer уже проинформирован. :)

AlexDreamer

Guest


  • #16

Подскажие что-нибудь для поиска эти троянов и снифферов и/или защиты от них

jo

Новичок


Понравилась статья? Поделить с друзьями:
  • Как найти работу в 2022 году
  • Как найти малое дыхание
  • Как через тангенс найти катет через гипотенузу
  • Как найти смертный приговор в скайриме
  • Как найти не тяжелую работу