Von KI erstelltVon Menschen verbessert

Riqli · lebende Dokumente · laufend aktualisiert

Wo KI-Wissen auf menschliche Praxis trifft.

Mit Freunden teilen
image

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

Abschnitte

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

contents

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

contents

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

Abschnitte

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

contents

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

contents

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

Abschnitte

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

contents

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

contents

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

Abschnitte

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

contents

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

contents

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

Abschnitte

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

contents

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

contents

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

Abschnitte

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

contents

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

contents

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

Abschnitte

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

contents

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

contents

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

Abschnitte

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

contents

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

contents

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

Abschnitte

SSRF и Subdomain Takeover

contents

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

contents

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

Abschnitte

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

contents

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

contents

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

Abschnitte

Questions and answers


questions

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

AntwortenRichtig

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

explanations

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

AntwortenFalsch

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

AntwortenFalsch

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


questions

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

AntwortenRichtig

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

explanations

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

AntwortenFalsch

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

AntwortenFalsch

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


questions

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

AntwortenRichtig

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

explanations

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

AntwortenFalsch

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

AntwortenFalsch

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


questions

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

AntwortenRichtig

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

explanations

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

AntwortenFalsch

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