Yapay zeka tarafından oluşturulduİnsanlar tarafından geliştirildi

Riqli · canlı belgeler · sürekli güncellenir

Yapay zeka bilgisinin insan pratiğiyle buluştuğu yer.

Arkadaşlarla paylaş
image

Bug Bounty

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

bölümler

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

contents

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

contents

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

bölümler

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

contents

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

contents

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

bölümler

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

contents

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

contents

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

bölümler

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

contents

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

contents

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

bölümler

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

contents

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

contents

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

bölümler

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

contents

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

contents

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

bölümler

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.

bölümler

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

contents

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

contents

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

bölümler

SSRF и Subdomain Takeover

contents

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

contents

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

bölümler

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

contents

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

contents

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

bölümler

Questions and answers


sorular

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

cevaplarDoğru

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

açıklamalar

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

cevaplarYanlış

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

cevaplarYanlış

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


sorular

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

cevaplarDoğru

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

açıklamalar

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

cevaplarYanlış

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

cevaplarYanlış

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


sorular

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

cevaplarDoğru

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

açıklamalar

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

cevaplarYanlış

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

cevaplarYanlış

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


sorular

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

cevaplarDoğru

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

açıklamalar

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

cevaplarYanlış

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