Создано ШІУлучшено людьми

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

Синергія знань ШІ та практики людей.

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

Bug Bounty

(bug bounty, программы bug bounty, заработок на багах, hackerone как начать, bug bounty платформы, как найти первую уязвимость на bug bounty, bug bounty writeup subdomain takeover, как использовать nuclei в баг хантинге, охотник за багами обучение с нуля)

разделы

Введение в 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 для фингерпринтинга технологий.