Хакинг API: Взлом программных интерфейсов веб-приложений

Хакинг API: Взлом программных интерфейсов веб-приложений

Хакинг API: Взлом программных интерфейсов веб-приложений
Автор: Болл Кори Джей
Дата выхода: 2026
Издательство: Спринт Бук
Количество страниц: 369
Размер файла: 48,3 МБ
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы

Об авторе....17

О научном редакторе....17

Предисловие....18

Благодарности....21

Введение....23

Привлекательность атак на веб-API....23

Структура издания....24

Взлом API на примере ресторана....25

От издательства....27

О научном редакторе русскоязычного издания....27

ЧАСТЬ I. БЕЗОПАСНОСТЬ ВЕБ-АРI....28

Глава О. Подготовка к тестированию безопасности....29

Получение разрешения....29

Моделирование угроз для тестирования API....30

Какие элементы API нужно тестировать....32

Тестирование привилегированного доступа к API....33

Межсетевые экраны веб-приложений....33

Тестирование мобильных приложений....34

Аудит документации API....34

Тестирование ограничения частоты запросов....34

Ограничения и исключения....35

Тестирование безопасности облачных API....36

Тестирование на отказ в обслуживании....37

Отчетность и повторное тестирование после устранения уязвимостей....38

Несколько слов о программах по поиску уязвимостей....38

Резюме....40

Глава 1. Основы работы веб-приложений....41

Основы веб-приложений....41

URL....42

HTTP-запросы....43

HTTP-ответы....44

Коды состояния HTTP....45

HTTP-методы....47

Сессионность и отсутствие сессий в HTTP....48

Серверные базы данных....49

SQL....50

NoSQL....51

Роль API в современной архитектуре....52

Резюме....53

Глава 2. Устройство веб-АР1....54

Как работают веб-АР1....54

Стандартные типы веб-АР1....57

RESTful API....58

GraphQL....62

Спецификации REST API....66

Форматы обмена данными в API....67

JSON....67

XML....69

YAML....70

Аутентификация в API....71

Базовая аутентификация....72

API-ключи....72

Токены JWT....74

Алгоритмы НМАС....75

Метод OAuth 2.0....76

Отсутствие аутентификации....78

Изучаем API Twitter на примере....78

Резюме....80

Глава 3. Типичные уязвимости API....81

Утечки данных....81

Сбой авторизации на уровне объектов....82

Сбой аутентификации пользователей....84

Избыточное раскрытие данных....86

Недостаток ресурсов и неограниченность частоты запросов....87

Сбой авторизации на уровне функций....87

Массовое переназначение параметров....89

Ошибки конфигурации безопасности....90

Инъекции....93

Некорректное управление активами....95

Уязвимости бизнес-логики....96

Резюме....97

ЧАСТЬ II. СОЗДАНИЕ ТЕСТОВОЙ СРЕДЫ ДЛЯ РАБОТЫ С API....98

Глава 4. Конфигурация системы для взлома API....99

Kali Linux....99

Анализ веб-приложений с помощью DevTools....100

Перехват и изменение запросов с помощью Burp Suite....103

Настройка FoxyProxy....104

Добавление сертификата Burp Suite....105

Интерфейс Burp Suite....106

Перехват трафика....108

Изменение запросов с помощью Intruder....110

Составление API-запросов в Postman....114

Конструктор запросов....116

Окружения....119

Коллекции....120

Инструмент Collection Runner....124

Фрагменты кода....124

Панель Tests....125

Совместная работа Postman и Burp Suite....126

Дополнительные инструменты....127

Сбор информации с помощью OWASP Amass....128

Поиск конечных точек API с помощью Kiterunner....129

Поиск уязвимостей с помощью Nikto....131

Сканирование на уязвимости с помощью OWASP ZAP....131

Фаззинг с помощью Wfuzz....132

Поиск HTTP-параметров с помощью Arjun....134

Резюме....135

Упражнение 1. Перечисление учетных записей пользователей в RESN API....135

Глава 5. Создание уязвимых API-целей для тестирования....140

Создание хоста с Linux....141

Установка Docker и Docker Compose....141

Установка уязвимых приложений....142

Completely Ridiculous API (crAPI)....142

OWASP DevSIop: Pixi....143

OWASP Juice Shop....144

Damn Vulnerable GraphQL Application....145

Добавление других уязвимых приложений....146

Тестирование API с помощью TryHackMe и HacklheBox....146

Резюме....148

Упражнение 2. Поиск уязвимостей API....148

ЧАСТЬ III. АТАКИ НА API....152

Глава 6. Обнаружение API....153

Пассивная разведка....153

Процесс пассивной разведки....154

Поиск через Google....155

Сервис Shodan....157

Инструмент OWASP Amass....159

Открытые данные на сайте GitHub....161

Активная разведка....165

Процесс активной разведки....165

Базовое сканирование с помощью Nmap....167

Поиск скрытых путей в robots.txt....168

Поиск конфиденциальной информации с помощью Chrome DevTools....168

Проверка API с помощью Burp Suite....172

Сканирование URI с помощью OWASP ZAP....173

Перебор URI с помощью Gobuster....176

Поиск содержимого API с помощью Kiterunner....177

Резюме....179

Упражнение 3. Активная разведка при тестировании методом "черного ящика....180

Глава 7. Анализ конечных точек....185

Поиск формулировок запросов....185

Поиск информации в документации API....186

Импорт спецификаций API....190

Обратная разработка API....192

Добавление требований аутентификации API в Postman....195

Анализ функциональности....197

Тестирование предусмотренной функциональности....198

Выполнение привилегированных действий....199

Анализ ответов API....201

Поиск утечек информации....201

Поиск ошибок конфигурации безопасности....202

Подробные сообщения об ошибках....202

Слабое шифрование трафика....203

Проблемные конфигурации....203

Анализ избыточных данных в ответах API....203

Поиск уязвимостей бизнес-логики....205

Резюме....206

Упражнение 4. Создание коллекции для crAPI т обнаружение представления излишних данных....207

Глава 8. Взлом механизмов аутентификации....212

Классические атаки на механизмы аутентификации....213

Полный перебор паролей....213

Взлом механизмов сброса паролей и многофакторной аутентификации....213

Распыление паролей....216

Использование Вазе64-аутентификации в атаках методом перебора....219

Подделка токенов....220

Анализ загруженных токенов вручную....221

Анализ токенов в процессе захвата трафика....223

Перебор предсказуемых токенов....225

Злоупотребление токенами JWT....227

Распознавание и анализ токенов JWT....227

Подделка токенов с алгоритмом "none....230

Атака с подменой алгоритма....230

Взлом секрета JWT....232

Резюме....232

Упражнение 5. Взлом подписи JWT в crAPI....233

Глава 9. Фаззинг....236

Эффективный фаззинг....236

Выбор полезной нагрузки для фаззинга....238

Выявление аномалий....239

Широкий и глубокий фаззинг....241

Широкий фаззинг в программе Postman....242

Глубокий фаззинг в программе Burp Suite....245

Глубокий фаззинг с помощью Wfuzz....248

Широкий фаззинг для поиска уязвимостей управления активами....250

Тестирование HTTP-методов с помощью программы Wfuzz....252

Углубленный фаззинг для обхода фильтрации входных данных....253

Фаззинг для выявления уязвимостей типа обхода каталогов....254

Резюме....255

Упражнение 6. Фаззинг и уязвимости управлениия активами....255

Глава 10. Эксплуатация уязвимостей авторизации....260

Поиск ошибок авторизации на уровне объектов....260

Поиск идентификаторов ресурсов....261

А-В-тестирование в рамках поиска BOLA....263

BOLA-атаки через побочные каналы....263

Поиск ошибок авторизации на уровне функций....264

А-В-тестирование в рамках поиска BFLA-уязвимостей....265

Тестирование на BFLA в Postman....266

Советы по взлому механизмов авторизации....268

Переменные коллекции в программе Postman....268

Функция замены по шаблону в программе Burp Suite....269

Резюме....270

Упражнение 7. Поиск местоположения автомобиля другого пользователя....270

Глава 11. Массовое переназначение параметров....275

Поиск целей для массового переназначения параметров....275

Регистрация учетной записи....276

Несанкционированный доступ к организациям....276

Поиск переменных, уязвимых к массовому переназначению....277

Поиск переменных в документации....277

Фаззинг неизвестных переменных....278

Массовое переназначение параметров вслепую....279

Автоматизация атак массового переназначения параметров с помощью Arjun и Intruder....279

Сочетание атак BFLA и массового переназначения....281

Резюме....282

Упражнение 8. Изменение цен на товар в интернет-магазине....282

Глава 12. Инъекции....287

Выявление уязвимостей перед инъекциями....287

Межсайтовый скриптинг (XSS)....288

Меж-АРI-скриптинг (XAS)....290

SQL-инъекции....291

Тестирование вручную с использованием метасимволов....293

SQLmap....294

NoSQL-инъекции....295

Инъекции команд операционной системы....298

Резюме....300

Упражнение 9. Подделка купонов путем NoSQL-инъекций....300

ЧАСТЬ IV. ТЕСТИРОВАНИЕ API В РЕАЛЬНЫХ УСЛОВИЯХ....304

Глава 13. Обход защитных механизмов и проверка ограничения частоты запросов....305

Обход механизмов защиты API....305

Как устроены механизмы защиты....306

Выявление механизмов защиты API....307

Использование временных учетных записей....308

Приемы обхода защитных механизмов....308

Автоматизация обхода с помощью Burp Suite....311

Автоматизация обхода с помощью Wfuzz....313

Проверка ограничений частоты запросов....315

О мягких ограничениях частоты запросов....316

Обход ограничений с помощью изменения пути....318

Подмена заголовков Origin....319

Ротация IP-адресов в программе Burp Suite....320

Резюме....324

Глава 14. Взлом GraphQL....325

Запросы GraphQL и IDE....325

Активная разведка....327

Сканирование....327

Просмотр приложения DVGA в браузере....328

Использование инструментов DevTools....329

Обратная разработка GraphQL API....330

Перебор каталогов при поиске конечной точки GraphQL....331

Подделка cookie-файлов для активации GraphiQL IDE....333

Обратная разработка GraphQL-запросов....334

Обратная разработка GraphQL-коллекции путем интроспекции....336

Анализ GraphQL API....337

Составление запросов с помощью Documentation Explorer....337

Работа с расширением InQL в программе Burp Suite....339

Анализ на внедрение команд методом фаззинга....342

Резюме....346

Глава 15. Случаи компрометации данных и программы по поиску уязвимостей....347

Громкие компрометации данных....348

Компрометация учетных данных в компании Peloton....348

Раскрытие данных о пользователях Почтовой службы США....350

Инцидент с API оператора T-Mobile....352

Программы по поиску уязвимостей....353

Цена утечки API-ключей....354

Проблемы с авторизацией в приватном API....355

Starbucks: компрометация, которой не было....357

BOLA-уязвимость в GraphQL API Instagram....359

Резюме....360

Заключение....361

Приложение А. Чек-лист взломщика API....362

Приложение Б. Дополнительные ресурсы....364

«Хакинг API» — это экспресс-курс по тестированию безопасности веб-API. Взламывайте API, ищите уязвимости, которые часто упускают даже опытные специалисты, и обеспечивайте безопасность ваших собственных API. Сначала вы разберетесь, как на самом деле работают REST API и какие уязвимости для них наиболее характерны. Затем создадите эффективную среду тестирования API с помощью Burp Suite, Postman, Kiterunner, OWASP Amass и других инструментов, предназначенных для разведки, анализа и тестирования защищенности конечных точек. Затем, вооруженные этими знаниями, научитесь проводить самые популярные виды атак для взлома механизмов аутентификации, искать ошибки в бизнес-логике и выявлять специфические слабые места API. Узнаете, что такое межсайтовый скриптинг и массовое переназначение параметров, а также какие уязвимости, связанные с инъекцией кода, часто встречаются в веб-приложениях.


Похожее:

Список отзывов:

Нет отзывов к книге.