Создано искусственным интеллектомУлучшено людьми

Riqli · живые документы · обновляются постоянно

Где знания об искусственном интеллекте встречаются с человеческой практикой.

Поделиться с друзьями
image

Bug Bounty. Hard skill. (Bug bounty. Программы bug bounty. Заработок на багах. Hackerone как начать. Tutorial. Practice. Standard.)

разделы

Введение в Bug Bounty и важность безопасности веб-приложений

содержимое

Этот курс посвящен практическому поиску уязвимостей в рамках программ Bug Bounty. В современном мире веб-приложения обрабатывают огромные объемы конфиденциальных данных, и их безопасность имеет решающее значение. Основная цель баг-хантинга — не просто найти ошибку, а доказать ее реальное влияние на бизнес, что является главным отличием от классического пентеста.

содержимое

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

разделы

Основы веб-технологий и протоколов

содержимое

Для успешного поиска уязвимостей необходимо понимать, как работает веб. HTML формирует структуру страницы, CSS отвечает за внешний вид, а JavaScript добавляет интерактивность, но также является источником многих проблем безопасности. Ключевое звено — протокол HTTP, который определяет методы запросов (GET, POST, PUT, DELETE) и коды ответов, позволяя анализировать поведение приложения.

содержимое

DNS (Domain Name System) преобразует доменные имена в IP-адреса, работая как телефонная книга интернета. Понимание иерархии доменов и типов DNS-записей (A, CNAME, MX) критически важно для этапа разведки. Это знание помогает находить новые поддомены и активы, которые часто остаются без должного внимания и становятся легкой целью для исследователей.

разделы

Разведка и сбор информации (Reconnaissance)

содержимое

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

содержимое

Фингерпринтинг технологий помогает определить стек приложения (например, PHP, Apache, Java). Знание используемых технологий и их версий позволяет искать специфические уязвимости. Инструменты вроде BuiltWith и расширения Wappalyzer автоматизируют этот процесс, предоставляя ценную информацию о серверных решениях и фреймворках.

разделы

Сканирование и перебор каталогов

содержимое

Перебор каталогов и файлов (Directory Bruteforcing) помогает обнаружить скрытые точки входа в приложение. Инструмент ffuf — это мощный фаззер, использующий словари для поиска скрытых папок, файлов конфигурации и страниц администрирования. Этот метод позволяет найти недокументированные функции и старые версии приложений, которые часто содержат уязвимости.

содержимое

Важно помнить, что использование данного метода должно быть строго в рамках разрешенного объема (scope), чтобы избежать проблем с законом. В рамках программы Bug Bounty всегда проверяйте правила: разрешены ли автоматизированные запросы и с какой скоростью. Сканирование каталогов позволяет получить карту приложения, что является критически важным для планирования дальнейших атак.

разделы

Аутентификация и атаки на логику (Authentication & Logic)

содержимое

Механизмы аутентификации — это первая линия обороны. Атаки грубой силой (Brute-force) направлены на подбор логинов и паролей с использованием словарей. Программы Bug Bounty часто исключают подобные атаки из-за риска блокировки аккаунтов, однако проверка на наличие ограничений скорости (rate limiting) и блокировок остается актуальной задачей.

содержимое

Следует различать аутентификацию и авторизацию. Аутентификация — это подтверждение личности (кто вы), а авторизация — это определение прав доступа (что вам разрешено). Уязвимости в логике авторизации, такие как IDOR (Insecure Direct Object Reference), позволяют получить доступ к данным другого пользователя, просто изменив параметр в запросе, что часто является критической находкой.

разделы

Инъекционные атаки (SQL, Command, XXE)

содержимое

SQL-инъекция — одна из самых опасных уязвимостей, позволяющая манипулировать запросами к базе данных. Суть атаки заключается во внедрении вредоносного SQL-кода в пользовательский ввод. Например, подстановка условия ' OR 1=1 -- может вернуть все записи из таблицы, что служит доказательством наличия уязвимости.

содержимое

Слепое SQL-инъецирование (Blind SQL Injection) сложнее в эксплуатации, так как не выводит данные напрямую. Для извлечения информации используются логические вопросы (True/False) или временные задержки (Time-based). Специализированные инструменты, такие как sqlmap, могут автоматизировать процесс поиска и эксплуатации уязвимостей в сложных сценариях.

разделы

XSS и SSTI (Cross-Site Scripting & Template Injection)

содержимое

Cross-Site Scripting (XSS) позволяет выполнять произвольный JavaScript-код в браузере жертвы. XSS бывает отраженным, сохраненным и DOM-типа. Сохраненный XSS наиболее опасен, так как злоумышленник может украсть сессионные cookie или выполнить действия от имени администратора, что в Bug Bounty считается высокоэффективной уязвимостью.

содержимое

Server-Side Template Injection (SSTI) возникает, когда пользовательский ввод встраивается в шаблон на стороне сервера без должной обработки. Это позволяет выполнить произвольный код на сервере. Например, ввод в движок Twig может привести к выполнению команды через функцию system(), что дает полный контроль над сервером, что является критической находкой в Bug Bounty.

разделы

Небезопасная загрузка файлов и CSRF

содержимое

Уязвимости при загрузке файлов часто приводят к выполнению кода на сервере. Злоумышленники обходят клиентские проверки (например, через отключение JavaScript) или используют двойные расширения (shell.php.png) для выполнения вредоносного кода. Одна из серьезных угроз — это атака CSRF, когда жертва, будучи авторизованной, по неволе выполняет нежелательное действие.

содержимое

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

разделы

SSRF и Subdomain Takeover

содержимое

Server-Side Request Forgery (SSRF) позволяет атакующему отправлять запросы от имени уязвимого сервера. Эта уязвимость часто используется для сканирования внутренних сетей и доступа к закрытым сервисам (например, метаданные AWS). Обнаружение слепого (Blind) SSRF затруднено, но подтверждается с помощью внешнего коллаборатора, засекающего входящий запрос.

содержимое

Subdomain Takeover (захват поддомена) происходит, когда DNS-запись указывает на несуществующий ресурс, который можно зарегистрировать. Например, если CNAME ведет на удаленный аккаунт GitHub, который был удален, злоумышленник может создать его и разместить вредоносное содержимое по адресу поддомена. Это может привести к XSS-атакам и компрометации репутации.

разделы

Написание отчетов и CVSS

содержимое

Качество отчета напрямую влияет на скорость выплаты вознаграждения. Четкий репорт должен содержать шаги воспроизведения, полезную нагрузку и доказательства (скриншоты). Важно указывать CVSS-скор, однако помните, что оценка влияния уязвимости субъективна и может быть скорректирована командой платформы. Рекомендации по исправлению уязвимости повышают ценность отчета.

содержимое

Коммуникация с триажером — ключевой навык. Избегайте агрессивного тона и не предоставляйте неполную информацию, так как это может затянуть проверку. Ожидайте, что триажер может уточнять детали, и всегда отвечайте на запросы вежливо. Соблюдение правил программы и корректное предоставление Proof of Concept (PoC) — залог успеха в Bug Bounty.

разделы

Questions and answers


вопросы

В чем заключается основная цель баг-хантинга, которая отличает его от классического пентеста?

ответыПравильный

Основная цель — не просто найти ошибку, а доказать ее реальное влияние на бизнес.

объяснения

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

ответыНеправильный

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

ответыНеправильный

Основная цель — автоматизировать поиск с помощью инструментов, таких как ffuf и sqlmap.


вопросы

Какое ключевое звено веб-технологий определяет методы запросов и коды ответов, позволяя анализировать поведение приложения?

ответыПравильный

Протокол HTTP, который определяет методы запросов (GET, POST, PUT, DELETE) и коды ответов.

объяснения

Понимание протокола HTTP критически важно для анализа взаимодействия с веб-приложением и поиска уязвимостей.

ответыНеправильный

Протокол DNS, который преобразует доменные имена в IP-адреса.

ответыНеправильный

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


вопросы

Почему понимание иерархии доменов и типов DNS-записей критически важно для этапа разведки в баг-хантинге?

ответыПравильный

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

объяснения

Иерархия доменов и DNS-записи (A, CNAME, MX) позволяют обнаруживать скрытые ресурсы, которые могут быть легкой целью для атак.

ответыНеправильный

Это необходимо для перебора каталогов и файлов с помощью инструмента ffuf.

ответыНеправильный

Это позволяет определить стек технологий приложения (например, PHP или Java).


вопросы

Какие инструменты используются для обнаружения поддоменов, связанных с целью, и проверки их доступности?

ответыПравильный

Subfinder и Assetfinder для обнаружения, а httpx для проверки доступности.

объяснения

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

ответыНеправильный

BuiltWith и Wappalyzer для фингерпринтинга технологий.