security
10 статей
-
Как тестировать экономику мобильной игры и ловить читеров
Экономика игры — главная мишень: любой чит бьёт прямо по деньгам. Разбор от первого лица: почему клиенту нельзя верить (сервер-авторитет), дюп-баги и идемпотентность покупок, перевод часов устройства, редактирование сейва, отрицательный баланс и переполнение, фейковый IAP-чек, тулы читеров. С чек-листом атак, которые должен прогнать QA.
-
Broken Access Control: как QA тестировать права доступа (топ-1 риск OWASP)
Битый контроль доступа — №1 в OWASP Top 10, и львиную долю таких дыр QA может поймать без пентестера. Разбор от первого лица: IDOR, горизонтальная и вертикальная эскалация привилегий, forced browsing, проверка на бэке (а не в UI), матрица ролей, подмена токенов. С чек-листом и типовыми местами, где это ломается.
-
Fuzz-тестирование: как ломать вход мусором и находить то, что руками не поймать
Ручные кейсы проверяют то, что ты придумал, а баги живут там, где ты не придумал. Разбор от первого лица: что такое фаззинг и почему у него другой оракул (ловим факт падения, а не «правильный ответ»); виды — тупой, coverage-guided (AFL++/libFuzzer), property-based (Hypothesis/fast-check); где QA реально применяет (парсеры, загрузка файлов, API по OpenAPI, поля ввода, бизнес-логика); что фаззинг находит, а ручные кейсы нет; инструменты и как подступиться, чтобы это жило в CI.
-
Чек-лист тестирования оплаты и чекаута — кейсы, на которых ломаются деньги
Чекаут — место, где сходятся деньги и доверие, а тестируют его чаще всего на тестовой карте 4242 и happy path. Разбор от первого лица: деньги в минорных единицах, а не во float; двойное списание и идемпотентность; отказы банка как норма, а не 500; 3-D Secure и брошенный челлендж; вебхук как источник истины, а не редирект; пересчёт сумм и промокодов на сервере; PCI и токенизация; обрывы сети на каждом шаге. Плюс плоский чек-лист на 16 пунктов.
-
Rate limiting — как тестировать лимиты, о которых вспоминают после инцидента
Пока никто не долбит API, кажется, что лимиты не нужны — их отсутствие незаметно ровно до первого инцидента. Разбор от первого лица: лимит как контракт двух сторон (сервер ограничивает — клиент переживает), граница N/N+1 и честный 429 с Retry-After, скоуп ключа и как лимитом по аккаунту устраивают DoS жертве, burst на стыке окон, обходы через X-Forwarded-For и соседние эндпоинты, зоны, где лимит обязан быть (OTP, reset, промокоды), и почему «лимиты выключены на стейдже» = непротестированный прод.
-
Чек-лист тестирования регистрации и логина — и автотест на Playwright под каждый пункт
Логин — первый экран, который видит юзер, и любимое место продакшн-инцидентов. Формат «пункт чек-листа → как его автоматизировать»: user enumeration через одинаковые сообщения, password reset с одноразовым токеном, logout и кнопка «назад», cookies HttpOnly/Secure через context.cookies(), сессия в двух вкладках, мок 429 для блокировки, паттерн storageState чтобы не логиниться в каждом тесте — и что в auth принципиально не стоит тащить в e2e.
-
Чек-лист тестирования загрузки файлов: 30+ кейсов, которые забывают
Переиспользуемый чек-лист тестирования file upload: содержимое vs расширение и magic bytes, размеры и decompression bomb, имена файлов и path traversal, процесс загрузки и обрыв сети, серверная обработка и хранилище, безопасность (SVG XSS, RCE, SSRF) и доступность. 30+ пунктов.
-
Idempotency и retry-storms — что должен тестировать QA в distributed systems
Самый дорогой класс багов в payments — «прошло два раза». Гайд по идемпотентности глазами QA: Idempotency-Key, 5 типовых retry-сценариев, что такое retry storm, тулзы (WireMock, Toxiproxy, k6), чек-лист на 13 пунктов.
-
CrowdStrike июль 2024 — как один драйвер за 78 минут уронил 8.5 млн Windows-машин
Самый дорогой software-failure в истории — $5.4 млрд прямого ущерба. Тривиальный off-by-one на стороне internal validator. Полный разбор timeline, root cause, три отдельных QA-провала и 10 уроков для своей команды.
-
OWASP API Security Top 10 для QA — гайд с тест-кейсами
Большинство QA знают про SQL injection и XSS. При этом 90% уязвимостей в современных продуктах живут в API, а OWASP API Top 10 2023 — отдельный список, в QA-курсах его не разбирают. Все 10 угроз с тест-кейсами, curl-запросами и инструментами.