Безопасность веб-приложений. Разведка, защита, нападение. 2 изд

Безопасность веб-приложений. Разведка, защита, нападение. 2 изд

Безопасность веб-приложений. Разведка, защита, нападение. 2 изд
Автор: Хоффман Эндрю
Дата выхода: 2025
Издательство: Спринт Бук
Количество страниц: 432
Размер файла: 3.8 MB
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы

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

Изменения во втором издании....20

Исходные требования и цели обучения....20

Почему примеры написаны на JavaScript....21

Почему книга представляет концепции, а не инструменты....22

Требования к уровню знаний....22

Минимальный набор навыков....23

Кому больше всего пригодится эта книга....23

Инженеры-программисты и разработчики веб-приложений....24

Инженеры-программисты....24

Разработчики веб-приложений....24

Общие цели обучения....25

Инженеры по безопасности, пентестеры и охотники за багами....25

Структура книги....26

Разведка....27

Нападение....27

Защита....29

Язык и терминология....31

Резюме....35

Условные обозначения....36

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

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

Отзывы о первом издании....19

Глава 1....38

История защиты программного обеспечения....38

Истоки хакерства....38

«Энигма», 1930-е....39

Автоматизированный взлом шифра «Энигмы», 1940-е....42

Фрикинг, 1950-е....45

Метод борьбы с фрикингом, 1960-е....47

Начало компьютерного взлома, 1980-е....48

Расцвет Всемирной паутины, 2000-е....50

Современные хакеры, после 2015-го....52

Резюме....55

Часть I. Разведка....57

Глава 2. Введение в разведку веб-приложений....59

Сбор информации....59

Карта веб-приложения....61

Резюме....63

Глава 3. Структура современных веб-приложений....64

Сравнение современных и более ранних версий приложений....64

REST API....66

Формат JSON....69

JavaScript....71

Переменные и их область видимости....72

Функции....74

Контекст....75

Прототипное наследование....77

Асинхронное выполнение кода....79

Программный интерфейс DOM браузера....82

Фреймворки для SPA....84

Системы аутентификации и авторизации....85

Аутентификация....86

Авторизация....86

Веб-серверы....87

Базы данных на стороне сервера....88

Хранение данных на стороне клиента....89

GraphQL....91

Системы управления версиями....92

Сети доставки контента и кэширование....94

Резюме....96

Глава 4. Поиск субдоменов....97

Множество приложений в рамках одного домена....97

Встроенные в браузер инструменты анализа....98

Общедоступная информация....101

Кэши поисковых систем....101

Поиск в архиве....104

Социальные профили....105

Атаки на передачу зоны....109

Брутфорс субдоменов....111

Перебор по словарю....116

Резюме....118

Глава 5. Анализ API....119

Обнаружение конечной точки....119

Механизмы аутентификации....123

Разновидности конечных точек....124

Основные разновидности....125

Специализированные разновидности....126

Резюме....127

Глава 6. Обнаружение сторонних зависимостей....128

Клиентские фреймворки....128

Фреймворки для одностраничных приложений....129

Библиотеки JavaScript....131

Библиотеки CSS....132

Фреймворки на стороне сервера....133

Заголовки....133

Стандартные сообщения об ошибке и страницы 404....134

Базы данных....136

Резюме....138

Глава 7. Поиск слабых мест в архитектуре приложения....139

Признаки безопасной и небезопасной архитектуры....140

Уровни безопасности....144

Заимствование и перекрой....145

Резюме....147

Глава 8. Итоги части I....148

Часть II. Нападение....149

Глава 9. Введение во взлом веб-приложений....151

Мышление хакера....151

Применение данных, полученных в процессе разведки....152

Глава 10. Межсайтовый скриптинг....154

Обнаружение XSS-уязвимости....154

Хранимый XSS....158

Отраженный XSS....159

XSS-атака на базе DOM....162

XSS с мутациями....164

Обход фильтров....166

Самозакрывающиеся теги HTML....167

Относительные URL без протокола....167

Некорректные теги....168

Экранированные последовательности....168

Многоязычные полезные нагрузки....169

Приемники и источники XSS....170

Резюме....172

Глава 11. Подделка межсайтовых запросов....173

Подделка параметров запроса....173

Изменение содержимого запроса GET....178

CSRF-атака на конечные точки POST....179

Обход защиты CSRF....181

Проверка заголовков....181

Пулы токенов....181

Слабые токены....182

Типы контента....182

Обход фильтров из регулярных выражений....183

iframe....184

AJAX....184

Формы нулевого взаимодействия....184

Резюме....185

Глава 12. Атака на внешние сущности XML....186

Основы XXE....186

Атака напрямую....187

Непрямая XXE-атака....190

Внеполосная утечка данных....192

Захват учетной записи....193

Получение данных о пользователе....193

Получение хешей паролей....194

Взлом хешей паролей....195

Удаленный вход по SSH....195

Резюме....196

Глава 13. Внедрение кода....197

Внедрение SQL-кода....197

Внедрение кода....201

Внедрение команд....205

Приемы внедрения для эксфильтрации данных....208

Основы эксфильтрации данных....208

Внутриполосная эксфильтрация данных....209

Внеполосная эксфильтрация данных....209

Логическая эксфильтрация данных....210

Обход общей защиты....211

Резюме....212

Глава 14. Отказ в обслуживании....213

ReDoS-атака....214

Логические DoS-уязвимости....217

Распределенная DoS-атака....220

Продвинутые DoS-атаки....221

Атаки YoYo....221

Атака на функции сжатия....221

DoS-атаки проксированием....222

Резюме....223

Глава 15. Атаки на данные и объекты....224

Массовое присваивание....224

Небезопасная прямая ссылка на объект....226

Атаки сериализации....227

Основы сериализации....227

Атака на слабую сериализацию....228

Резюме....229

Глава 16. Атаки на стороне клиента....230

Атаки на клиента в браузере....230

Атаки, нацеленные на клиента....231

Атаки, характерные для клиента....231

Достоинства атак на стороне клиента....231

Атаки загрязнения прототипа....232

Основы загрязнения прототипа....232

Атака загрязнением прототипа....235

Архетипы загрязнения прототипов....236

Кликджекинг....237

Эксплуатация камеры и микрофона....237

Создание эксплойтов для кликджекинга....238

Табнаббинг и обратный табнаббинг....239

Традиционный табнаббинг....239

Обратный табнаббинг....240

Резюме....242

Глава 17. Эксплуатация сторонних зависимостей....243

Методы интеграции....245

Ветви и вилки....245

Приложения с собственным сервером....246

Интеграция на уровне кода....247

Диспетчеры пакетов....248

JavaScript....248

Java....250

Другие языки....251

База данных общеизвестных уязвимостей....252

Резюме....254

Глава 18. Уязвимости в бизнес-логике....255

Уязвимости нестандартных математических вычислений....256

Побочные эффекты....257

Безналичные атаки....259

Уязвимости стандартов и соглашений....261

Эксплуатация уязвимостей бизнес-логики....263

Резюме....264

Глава 19. Итоги части II....265

Часть III. Защита....267

Глава 20. Защита современных веб-приложений....268

Архитектура защищенного ПО....269

Глубокий анализ кода....269

Поиск уязвимости....270

Анализ уязвимости....271

Управление уязвимостями....271

Регрессионное тестирование....272

Меры по снижению риска....272

Прикладные техники разведки и нападения....273

Резюме....273

Глава 21. Безопасная архитектура приложений....274

Анализ требований к ПО....274

Аутентификация и авторизация....276

Протоколы SSL и TLS....276

Защита учетных данных....277

Хеширование учетных данных....278

Многофакторная аутентификация....280

Личные данные и финансовая информация....282

Поиск....282

Архитектура нулевого доверия....283

История философии нулевого доверия....284

Явное и неявное доверие....284

Аутентификация и авторизация....285

Резюме....285

Глава 22. Безопасная конфигурация приложений....287

Политика безопасности контента....287

Реализация CSP....288

Структура CSP....288

Важные директивы....288

Источники CSP и списки источников....289

Строгая политика CSP....290

Пример политики CSP....291

Совместное использование ресурсов разными источниками....291

Типы запросов CORS....292

Простые запросы CORS....292

Предварительные запросы CORS....293

Реализация CORS....293

Заголовки....294

Строгая транспортная безопасность....294

Политика доступа к окнам, открытым разными источниками (COOP)....295

Политика доступа для ресурсов из разных источников (CORP)....296

Заголовки, влияющие на безопасность....297

Устаревшие заголовки безопасности....297

Файлы cookie....298

Создание и защита файлов cookie....298

Тестирование файлов cookie....300

Создание изолированного окружения....300

Традиционный метод с фреймами iframe....301

Web Workers....302

Целостность подресурса....302

Shadow Realms....303

Резюме....304

Глава 23. Безопасность пользовательского интерфейса....305

Раскрытие и перечисление информации....305

Раскрытие информации....306

Перечисление....308

Рекомендации по безопасности пользовательского интерфейса....310

Резюме....312

Глава 24. Моделирование угроз....313

Проектирование модели угроз....313

Пример моделирования угроз....314

Логическое описание....314

Техническое описание....315

Определение угроз (субъекты угроз)....318

Определение угроз (векторы атак)....319

Определение реализованных мер по смягчению последствий....322

Определение рисков без реализованных мер противодействия....322

Резюме....325

Глава 25. Проверка безопасности кода....326

Начало проверки....327

Основные типы уязвимостей и пользовательские логические ошибки....328

С чего начать проверку безопасности....330

Антипаттерны безопасного программирования....332

Черные списки....332

Шаблонный код....334

Доверие по умолчанию....334

Разделение клиента и сервера....335

Резюме....335

Глава 26. Обнаружение уязвимостей....337

Автоматизированная проверка....337

Статический анализ....338

Динамический анализ....339

Регрессионное тестирование....340

Программы ответственного раскрытия информации....343

Программы вознаграждения за обнаружение ошибок....344

Сторонние пентестеры....345

Резюме....346

Глава 27. Управление уязвимостями....347

Воспроизведение уязвимостей....347

Классификация уязвимостей....348

Общая система оценки уязвимостей....348

CVSS. Базовая метрика....349

CVSS. Временная метрика....352

CVSS. Контекстная метрика....353

Усовершенствованная классификация уязвимостей....355

Что делать потом....355

Резюме....356

Глава 28. Противодействие XSS-атакам....357

Приемы написания кода для противодействия XSS....357

Очистка пользовательского ввода....359

Приемник DOMParser....360

Приемник SVG....361

Приемник Blob....361

Санация гиперссылок....362

Символьные сущности в HTML....363

CSS XSS....364

Политика защиты контента для предотвращения XSS....365

Директива script-src....365

Ключевые слова unsafe-eval и unsafe-inline....366

Внедрение CSP....367

Резюме....368

Глава 29. Защита от CSRF....369

Проверка заголовков....369

CSRF-токен....371

CSRF-токены без сохранения состояния....372

Противодействие CRSF на уровне кода....372

Запросы GET без сохранения состояния....373

Снижение риска CSRF на уровне приложения....374

Резюме....376

Глава 30. Защита от XXE-атак....377

Оценка других форматов данных....377

Дополнительные риски, связанные с XXE....379

Резюме....379

Глава 31. Противодействие внедрению....380

Противодействие внедрению SQL-кода....380

Распознавание внедрения SQL-кода....381

Параметризованные запросы....382

Более специфические методы защиты....384

Защита от других видов внедрения....384

Потенциальные цели внедрения....385

Принцип минимальных привилегий....385

Белый список команд....386

Резюме....388

Глава 32. Противодействие DoS-атакам....389

Противодействие атакам ReDoS....389

Защита от логических DoS-атак....390

Защита от DDoS....391

Резюме....393

Глава 33. Защита данных и объектов....394

Защита от массового присваивания....394

Проверка и белый список....395

Объекты передачи данных....395

Защита от IDOR....395

Защита от атак на сериализацию....396

Резюме....396

Глава 34. Защита от атак на стороне клиента....397

Защита от загрязнения прототипов....397

Санация ключей....397

Замораживание прототипа....399

Пустые прототипы....399

Защита от кликджекинга....400

Директива frame-ancestors....400

Антифрейминг....401

Защита от табнаббинга....402

Политика доступа к окнам, открытым разными источниками....402

Блокировка ссылок....402

Политики изоляции....403

Резюме....405

Глава 35. Защита сторонних зависимостей....406

Оценка дерева зависимостей....406

Моделирование дерева зависимости....407

Деревья зависимостей на практике....407

Автоматизированная оценка....408

Техники безопасной интеграции....408

Разделение интересов....408

Безопасное управление пакетами....409

Резюме....410

Глава 36. Устранение уязвимостей в бизнес-логике....411

Устранение уязвимостей на уровне архитектуры....411

Статистическое моделирование....413

Моделирование входных данных....413

Моделирование действий....414

Разработка модели....414

Анализ модели....416

Резюме....416

Глава 37. Итоги части III....417

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

История безопасности программного обеспечения....418

Разведка....420

Нападение....421

Защита....424

Что дальше....428

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

Иллюстрация на обложке....430

Среди огромного количества информации по сетевой и ИТ-безопасности практически не найти книг по безопасности веб-приложений.Познакомьтесь на практике с разведкой, защитой и нападением!Вы изучите методы эффективного исследования и анализа веб-приложений, даже тех, к которым нет прямого доступа, узнаете самые современные хакерские приемы и научитесь защищать собственные разработки.


Похожее:

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

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