Коли просто тестувати вже недостатньо: чому QA варто знати основи кібербезпеки

💡 Усі статті, обговорення, новини про тестування — в одному місці. Приєднуйтесь до QA спільноти!

Привіт, спільното! Мене звати Вікторія, і з недавніх пір я QA Lead в компанії OX Company. Ні, у мене немає десятирічного досвіду і купи кейсів, але я завжди прагнула розвиватися і якнайшвидше стати сильним, конкурентним QA-інженером. У моєму роадмапі було достатньо цікавих технологій та напрямків, які я б хотіла вивчати, щоб досягти цього, і один із них — кібербезпека.

Насправді я відтягувала цей момент, бо розуміла, що це важка історія. Треба опанувати вже той Linux, розумітися на якихось DevOps-штуках, ще й JS було б непогано знати для XSS. Спойлер: ні, глибоко занурюватися не доведеться, якщо це доповнення до вашої ролі QA, а не основна професія. І ні, ви не станете тим хакером у чорному худі із зеленим екраном.

Але відкладати навчання більше не вдалося: керівництво компанії запропонувало мені пройти курс, щоб стати сильнішим спеціалістом, розумітися на атаках та превентивно захищати наші продукти. Я погодилася, бо це дуже крута можливість для мого росту, хоча це трохи лякало. Зараз я ані краплі не жалкую, що вирішила спробувати!

QA — це більше, ніж пошук багів

Що ви уявляєте, коли чуєте про професію QA-інженера? Хтось вважає, що вони «тицькають кнопки», хтось більш поважно — «вони знаходять баги». Але я вважаю, що QA — це більше, ніж баги та репорти: це людина, яка покращує продукт і піклується про обидві сторони: про розробників і про користувачів.

Думаю, більшість моїх колег погодяться: найцінніші баги — ті, що вдається виявити ще до того, як вони коштують бізнесу репутації або грошей. Так от, кібербезпека працює так само на випередження, бо основна її мета — захистити продукт від будь-яких зовнішніх проникнень, захистити дані клієнтів, захистити репутацію.

Я пропоную вам розглянути цей напрямок з боку тестування. Є цілий вид тестування, який цьому присвячений — Penetration testing (тестування на проникнення). Але часто QA-інженери його опускають, бо, можливо, не знають, як його проводити. У цьому блозі я хочу навести декілька прикладів, які можуть бути не тільки корисними для продукту, а й справді цікавими.

Дисклеймер: я не пишу з точки зору професіонала з кіберзахисту — я хочу поділитися досвідом QA, який дійсно допоможе колегам.

Як я можу застосувати знання з кібербезпеки в QA?

Звісно, ми можемо поговорити про SQL-інʼєкції, XSS, XXE атаки, але про це вже багато написано. Навіть без глибоких знань ви знайдете чимало готових інʼєкцій і скриптів, щоб перевірити, чи вразлива ваша аплікація.

Але я пропоную зануритися трохи глибше і розглянути цікавіші способи перевірки.

🔐 Перший лот — Broken Access Control

З цією вразливістю я вперше зіткнулася ще до навчання, працюючи на одному з проєктів. Як виявилося пізніше, бекенд продукту не перевіряв привілеї користувачів. Тобто роль, права доступу, user ID — усе це або не перевірялося зовсім, або перевірка була формальною.

На жаль, я тоді не помітила цю серйозну прогалину через брак досвіду — просто не знала, що такі речі потрібно перевіряти.

Уявімо, що в системі є кілька ролей: admin, support, user.

  • Адмін має повний контроль над системою: може створювати, читати, редагувати й видаляти будь-які дані.
  • Сапорт — обмеженіші права, наприклад, лише читання й редагування.
  • Звичайний юзер — може переглядати та змінювати лише свою інформацію.

Для взаємодії з бекендом використовуються API-запити. Припустимо, що це REST API:

POST /create_user
GET /read_all
PUT /edit/{user_id}
DELETE /delete?id={user_id}

На перший погляд — усе стандартно. Але саме тут може ховатися небезпека.

Якщо бекенд не перевіряє, чи має користувач право виконувати конкретний запит, він може змінити user_id у параметрах запиту — і замість своїх даних змінити чужі. Уявіть, що користувач просто вручну підставляє id=1002 замість id=1001 і бачить чи змінює чужі дані.

Це приклад горизонтальної ескалації привілеїв (Horizontal Privilege Escalation) — коли користувач з одним рівнем доступу отримує можливість бачити або змінювати дані на тому ж рівні, але які йому не належать.

А тепер інший кейс. Уявімо, що користувач вирішує спробувати щось нестандартне — наприклад, надіслати запит до ендпоінта GET /read_all_users, який, теоретично, доступний лише адмінам. Якщо бекенд не перевіряє роль у токені, юзер все одно отримає список усіх користувачів — тобто доступ до інформації, яка йому не призначена. Теж саме можна уявити із роллю сапорта: він може спробувати видалити користувача, навіть якщо на UI у нього немає кнопки «Delete», просто надіславши запит.

Це вже вертикальна ескалація привілеїв (Vertical Privilege Escalation) — коли користувач отримує доступ до функціональності, передбаченої для вищого рівня ролі.

Обидва ці випадки — частина Broken Access Control, тобто ситуацій, коли система неправильно або взагалі не обмежує доступ до ресурсів. Такі вразливості дуже поширені та дуже небезпечні, бо вони дозволяють зловмисникам робити дії від імені інших або отримувати чутливу інформацію без відповідних прав.

🔐 Другий лот — Improper Session Management

При роботі з токенами недостатньо перевіряти, що юзер його отримує та використовує після логіну в системі. Для прикладів будемо брати найпопулярніші JWT-токени.

Ось що варто знати:

  • токен складається з 3 частин: header.payload.signature.
    • Header містить тип токена та алгоритм підпису;
    • Payload — корисне навантаження, інфо про юзера;
    • Signature — підпис, який генерується шляхом підпису header + payload за допомогою секретного ключа й алгоритму, вказаного в header.
  • ви його можете декодувати на будь-якому доступному онлайн-сервісі (а значить, це може зробити хто завгодно).
  • токен може містити в собі чутливу інформацію про юзера: айді, роль, пошту, навіть іноді пароль.
  • ви можете закодувати в токен ту інформацію, яку хочете, і спробувати з тим токеном піднятися вище по привілеях (кодування також можна зробити онлайн).

Ваші дії як тестувальника:

  • Взяти токен вашої системи та розкодувати його.
  • Звернути увагу на алгоритм в хедері та на інформацію в пейлоаді.
  • Якщо в пейлоаді важлива інформація, обовʼязково сказати про це команді та донести, що це неправильно.
  • Спробувати змінити пейлоад (наприклад, змінити роль користувача) та закодувати з тим самим алгоритмом токен.
  • Надіслати запит з новим токеном, якщо не буде помилки, то скоріш за все бекенд не перевіряє сигнатуру, що також є вразливістю.

Також при роботі з токенами важливо перевіряти їх експерейшен. Якщо токен валдіний тільки 24 години, то впевніться, що так воно і є насправді. Крім того, логічно, що після зміни пароля (зі сторони адміна чи користувача) має генеруватися новий токен, а старий має бути недійсним.

🔐 Третій лот — Business Logic Vulnerabilities

Це не класичні технічні вразливості, це помилки у самій бізнес-логіці — коли продукт працює не так, як задумано, і користувач може цим скористатися.

Приклад, який я зустрічала в e-commerce: система дозволяла застосувати одноразовий купон кілька разів. Просто повторно надіславши запит із тим самим кодом — знижка знову працювала. Або ж інший варіант: користувач змінює ціну товару на клієнті (наприклад, з 1000₴ на 10₴) — і бекенд це «ковтає», бо довіряє UI.

Що може зробити QA:

  • Перевірити, чи справді одноразові купони не можна застосувати повторно.
  • Спробувати вручну змінити суму знижки або ціну товару у запиті до API.
  • Перевірити, чи можна обійти обмеження, наприклад, використати купон на інші категорії товарів, ніж передбачено.
  • Спробувати створити сценарій, де кінцева сума замовлення — негативна або 0.

Такі баги технічно нескладні, але бізнесу вони можуть коштувати дуже дорого.

Чому QA варто розбиратися в основах безпеки

Ми розглянули лише кілька прикладів, проте атак дуже багато. Ви можете самостійно зануритися в цю тему та знайти доволі цікаві кейси для майбутніх перевірок. Але те, що я знаю точно — це те, що QA-інженерам дуже корисно розбиратися в цій базі. Це не додатковий стек, це абсолютно новий кут зору, котрий допоможе вам покращувати продукти. Іноді навіть базові знання можуть врятувати від критичного інциденту.

Навіть якщо ви не плануєте ставати security-інженером, розуміння базових принципів дозволяє:

  • ставити правильні запитання на етапі планування;
  • вчасно виявляти уразливості, які не виявить жоден UI-тест;
  • бачити логічні помилки, які технічно «проходять», але бізнесово — неприйнятні;
  • захистити користувача ще до того, як він зіштовхнеться з проблемою.

Системи стають складнішими, а ризики — серйознішими. І в команді саме QA може бути тією людиною, яка помітить, що щось не так. Безпека — це теж про якість. І ми вже давно не просто «шукаємо баги», ми допомагаємо створювати продукти, яким довіряють.

Корисні ресурси для початку

Я можу порадити почати з лайтових ресурсів для ознайомлення з напрямком:

  • OWASP Top 10 — подивіться, які вразливості наразі є найбільш поширеними.
  • OWASP Juice Shop — тренажер для тестування вразливостей у вебзастосунку з челенджем на пошук 100 вразливостей.
  • PortSwigger Web Security Academy — дуже якісна безкоштовна платформа з теорією + практикою, від авторів Burp Suite.
  • Hack The Box (HTB) — практичні сценарії з тестування вразливостей (є beginner-дружній режим).
  • TryHackMe — ще простіше для початку: гейміфікований формат з поетапним навчанням (є модулі для QA/DevSecOps).

Саме для роботи я б виділила Burp Suite, ZAP і, звісно, Postman.

Цього буде достатньо для початку, а далі ви можете точково вивчати вразливості, що потенційно загрожують вашим продуктам.

Які можна зробити висновки?

QA сьогодні — це не просто перевірка UI і «чи працює кнопка». Це роль, яка вимагає розуміння архітектури, логіки, користувацького досвіду й так, навіть безпеки.

Ми не обовʼязково маємо вміти проводити повноцінне пентест-сканування чи писати експлойти — але маємо знати, де слабке місце, як його знайти й вчасно попередити команду. Це те, що відрізняє хорошого тестувальника від сильного.

Моя порада — не бійтеся зануритися в нову сферу. Почніть з малого: одна вразливість, один токен, один приклад. І дуже швидко ви побачите, як змінюється не лише ваш підхід до тестування, а й ваша цінність у команді.

А як ви вважаєте — чи повинен QA відповідати за базову перевірку безпеки, чи це вже «не його зона»?

👍ПодобаєтьсяСподобалось33
До обраногоВ обраному17
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Спасибо. Статья действительно интересная.

Спасибо. Статья действительно интересная.

Дякую, рада, що сподобалося ☺️

Гарна стаття, все в точку, QA і так постійно шукає баги, але за часту просто не системно підходячи, а от якщо підійти просто до того ж багу з логікою хакера то от тобі і знахідка якоїсь дірки в продукті, які коштуватимуть набагато дорожче якщо пропустити ніж звичайний баг, звичайно якщо це не блокер)) Тим паче із AI не потрібно мати на стільки глибокі знання, можна все запитати що і як перевіряти, і у тебе буде крута покрокова інструкція, головне знати поверхнево що і для чого потрібно, а по інструкції вже кожен справиться. QA хороший має бути не клікером а будівельником якості.

Продовжуй писати, не зупиняйся, у тебе добре це виходить, не сильно звертай увагу на скептиків, які просто саботують процес розвитку і хочуть робити тільки одну справу, бо просто день в нове внікати.

дуже дякую за такую підтримку 🥹 і ви праві, в час АІ краще розуміти продукт і потенційні проблеми значно простіше. Крім того, це ж банально цікаво розбиратися!)

і бекенд це «ковтає», бо довіряє UI.

Я невідомо скільки часу провів пояснюючи не одному розробнику, що ніколи, ні при яких умовах, BE не мусить довіряти FE. Але раз за разом виникало прохання від бекендирів, а давайте ми якусь там логіку та валідацію перенесемо на FE, бо так «зручніше». Повбивав би...

Але проблема тут в іншому. Рівень знань про різні вектори атак просто неймовірно низький. Коли ти пояснюєш архітектуру, яка базується на так званому сендбоксінгу, на тебе дивляться як на прибульця, який на своїй прибульській мові щось там булькотить. Коли пояснюєш підхід з ключами доступу (access keys) — на тебе дивляться як на навіженого. Sensitive data? Ні, не чули. Data gating? А що це? WS, по якому гуляють дані без шифрування або перевірки автентифікації? Ой вей...

Сумно це...

Я думаю, це до першого взлому чи злитих даних :( шкода, що не прислуховуються, але, сподіваюся, ви зможете довести як це важливо 🙌🏼

Для деяких це жодного разу не триггер. Люди тасочки роблять, їм ніколи головою думати...

це дійсно сумно, але, гадаю, проблема не стільки в розробниках, скільки в системі, де цінується час, а не якість

Гарна стаття, дуже резонує з концепцією «М-Shape».

Велике дякую, Євгеній 🤭

Не нужно разбираться в основах.
Нужно или хорошо разбираться и брать на себя ответственность или не строить из себя пентестера пропуская баги.

дякую за вашу думку) я вважаю, що кьюа корисно розвивати знання в різних напрямках айті, щоб краще розуміти продукт. при цьому не отримувати кваліфікацію в кожному напрямку :)

Я считаю, что распыляться по сторонам полезно тестировщику, но не проекту.
Когда берешься за то, в чем у тебя недостаточная экспертиза, быть беде.
Помню, во времена своей молодости работала на екомерсе и там заказчик очень серьезно относился к секьюрити тестированию, для него была отдельная команда пентестеров.

ну якщо подивитися хвилинний тік-ток з якоюсь новою інфою і казати, що ти експерт та впроваджувати це в роботу, то так, буде біді 😅
а якщо побачити нову інфу і зануритися в неї, то чому ні? зараз купа нових технологій і знань, якщо стояти на місці і робити гарно тільки те, що вмієш, то оце вже біда. але це імхо))

Не погоджуюсь. Наприклад читання репортів пентестерів, або планування проведення пентесту потрібно робити, і тут знання потрібні. Другий приклад перевірити ін’єкції займає не багато часу і дає бонус бізнесу, але не виключає роботу окремої команди пентестерів

Предлагаете одну и ту же работу делать дважды? И где тут выгода для проекта?

1. Навчання людей
2. Зміна контексту, щось нове
3. Починаючись поглиблюватись в cybersecurity, поглиблюються знання в тестуванні. Відповідно співробітник краще робить свою роботу.
Це все важливо для продукту, для аутсорсингу хз, бо не працював в ньому.

А хто платить за банкет?

продукт. Це важливо для розвитку продукту

А ви у власників продукту спитали чи готові вони платити 2чі за тестування безпеки чи ім краще додати ще 1 фічу у продукт?

звісно, мені не просто так платять гроші

Можливо вашим QA повезло мені більше припадало таких що вибір був однозначний: звісно фіча та АСАП

Продукту важно чтобы сделали как можно больше самых разных тестов, а не чтобы 2 человека делали одно и то же.

ні :-) більше тестів != якості

Те що ви пишете, це про «I-Shape» вона вмерла вже років 5-7 тому. Якщо я склав сертифікацію AWS, то я на рівні з DevOps можу щось робити в коауді? ні звісно. Але я вже трошки більше знаю про клауд ніж до сертифікаціі. Чи можу я нести відповідальність за інфраструктуру? Ні, бо є DevOps, але мені легше нести відповідальність, як менеджеру за свої рішення

В тестуванні безпеки продукту, відіграє те саме питання як і в тестуванні продукту на відповідність вимог — «а що якщо ...?»
Все лише залежить як часто і як глибоко спеціаліст буде собі його задавати ;)

це правда, це питання дійсно вже в наших днк 🧬😁 тому я і думаю, що комбо тестувальника і секьюріті було би ідеальне)

очень поверхностно, для базового уровня необхидмо знание:
1. линакса (большинство утил и эксплоитов на линаксе, особенно arch-based дистро, это и работа с пермишенами, шел скриптинг, понимание процессов и команд лайнеров которые необходимые для реверс инжиниринга и тд.
2. нетворкинг (глубокое понимание протоколов, работа с tcpdump, wireshark и тд)
3. базовые навыки программирования (пайтон, баш) для модификации эксплоитов, кастомные скрипты и их автоматизация, без этой базы дальше углубляться нет смысла, к сожалению, основная часть тестировщиков этим не интересуется, без этой базы нет смысла даже открывать HTB, по поводу JWT, заголовок и тело JWT лишь закодированы в Base64URL и доступны для чтения без ключа, безопасность же обеспечивает подпись, сформированная с помощью секретного или приватного ключа, при любом изменении данных подпись не совпадёт, и токен станет недействительным (кейс

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

) не валидный.

сори, но статья выглядит больше как вайб постинг после получасового интро с курса веб пентестинга

дякую за вашу думку) гадаю, ті знання, що ви перерахували, дійсно можуть бути корисними для тестувальників, проте суть цього блогу була в перших кроках на шляху роботи з безпекою. QA ≠ Cybersecurity інженер, для глубокого аналізу є конкретна роль, яка за це відповідає.
Стосовно jwt я як раз і вказала, що якщо не буде помилки, то сігнатура не перевіряється (яка власне і не валідна), що є проблемою 🙌🏼

Форточку бы приоткрыть. Очевидно, что в secops входит не только безопасность приложения, но и безопасность сетевая, архитектурная, и таких аспектов множество. Как раз поэтому secops — это не должность(и не обязанность конкретно QA инженеров), а подход, в котором каждый член команды отыгрывает свою роль.

а підкажіть який відсоток dev&qa знають на достатьному рівні linux&network? нещодавно був на співбесіді ахітектора java і він не може відповісти на питання про HTTPS, а ви про знання network

у каждого своё понимание, кто такой технический инженер, к сожалению основная часть это специалисты, которые работают годами, но не понимают как работают процессы «под капотом», мыслят как фреймворк-инженеры, в добавок новая категория вайб-кодеров отдельная габелла, вместо чтения документации полагаются на скрейп дату в аишке.
что касается знаний Linux и нетворкинга — это база в пентестинге, без них просто не о чем разговаривать, в тестировании тоже бывают совершенно разные проекты, от embedded и low-level до чисто сервер-сайда на Linux, поэтому, как и везде: каждому своё место, задачи и соответствующая зарплата, главное — осознавать свои сильные и слабые стороны и не выдавать себя за эксперта во всём

Тут якраз питання базових знань і їх застосування. Ніхто не каже, що я чи Вікторія протестують секьюріті так само, як пентестер, але базові речі ми знайдемо. Кому від цього погано? Нікому. А знання в SQL injection мені допомогли краще зрозуміти роботу реляційних баз

все эти базовые уязвимости покрываются SonarQube с CodeQL, сомневаюсь от импакта для проэкта сидеть дергать это все, тем более вручную, когда есть sqlmap на питоне)

ви

сомневаюсь от импакта

а в мене це QA роблять і імпакт СТО бачить, дивно якось, вам не здається?

і при цьому sql інʼєкції все ще один із найпопулярніших шляхів взлому 🙃

Заплатіть спеціалізованній платформі або експертам та не грайтесь в пінкертонів

Тільки бізнесу це не доведеш — кожна друга вакансія — Хочемо 6-рукого Шиву який і тестувати буде і в нагрузку може та й секьюріті провірить — а потім і чого в нас так погано з Перформансом та секьюріті — напевно тестувальника поганого взяли ....

Тому що люди кажуть все вмію на рівні сіньора (пентестера, перформансу). А потім я питаю базові запитання по owasp top 10 або по performance metrics і скляні очі.
В нормальних компаніях є під це окремі люди. Але прибрати з них частину рутини потрібно. Вміти читати репорт з Gatling або локусту

Нормальні компанії крім того що мають окремих людей, платять за сканування коду на вразливості спеціалізующимся на цьому конторам, та проводять аудіти з пентестінгу регулярно а не очікують від 1 людини що він закриє QA/QC/Performance/Blue team/Red team/Penetration/ і все в одну особу.
В іншому випадку — це тільки «Ілюзія безпеки» та в нас тестувальник провірив секьюріті ...
Як в бородатому анекдоті:
— Шеф у нас дирки в безпеці.
— Ну хоть щось у нас в безпеці

ну перфоманс еще норм, jmeter для себя выучить лишним не будет, если это не бигдата или стриминг, то можно и нагрузить на тестеров с девопсами, но пентестинг — mickeymouseTech компании с галочным комплаенсом) самый кринге — тестеры (не пентестеры) с пентест сертификатами уровня 2-3ч курсов в линкедине)

Ну нагрузить не сложно но в действительности нормальній нагрузочник должен:
1. подготовить себе енв (настроить нетворк, клауд, коннекты, сервак/слейвы с которых будет подавтать нагрузку и прочее )
2. Протестировать собственно (Написать тесты, прогнать их)
3, Проанализировать результаты (не уровня ААА я отправил 200 запросов в сек и все упало, а детально упало потому что вот неоптимальный SQL его можно оптимизировать так, дальше в этом методе у нас утечка памяти а в этом утечка коннектов к БД)
а это все уже далеко не простое дело и вешать его на тестировщика в надежде что он «Перформанс проверит в перерыве между тестированием» такое себе дело

о прочитав про jmeter і на цьому про навантажувальне тестування можна завершувати.
стаття і базові курси не про заміну пентестера, а про додаткові навички. Якщо в попередній компаніі СТО вмів писати код, то він навряд це робив будучи СТО.

базовый вопрос с овасп топ 10: атака через разрыв цепочки доверия в микросервисной архитектуре с JWT, SSRF и уязвимостью в логировании (Log Injection + RCE),
подсказка: в курсе на сертификат в линкедине этого не было)

Security Logging and Monitoring Failures — може перевірити manual QA, але я б після цього відав би це пентестерам. Або взагалі створив календар перевірок. Які мінуси, що manual QA цим займеться?

не получил ответа, лучше не браться за то, что не можешь сделать компетентно — галочный комплаенс бесполезен, особенно если всё выполнять вручную, как в случае с инъекциями, когда существуют open source-утилиты вроде sqlmap, способные покрыть такие сценарии, о которых ты даже не подумаешь, более того, если отсутствует санитизация ввода — это уже вопросы к разработке и внутренним процессам, базовые сканеры со статическим анализом кода находят такие уязвимости автоматически, всё это легко автоматизируется, нет смысла устраивать клоунаду с ручными проверками и тратить ресурсы впустую

Який комплаєнс? Які ресурси? Дивний коментар. Добре тепер точно закінчимо

если менеджмент требует от вас такую видимость с тестирования безопасности — это ваше дело, компании бывают разные: после некоторых и в цирке не смеёшься, разговор без конструктива при отсутствии знаний в пентестинге

Ще раз, це не про тестування безпеки, за яке є відповідальність ітд. Це про додатковий скіл, який можна застосувати. Я як менеджер розумію архітектуру проекту і розумію, що покращити, але архітектори знають це набагато краще. Але чомусь я пропоную рішення C-level.
Якщо я запитаю в qa squad хто може взяти і прогнати базові перевірки на секьюріті, то я не повішу на них відповідальність, а відмічу додатковий скіл і це може вплинути на перегляд зп. А повний security testing проводять відповідні люди по календарю. І знову скласти календар з мікро сервісами і скоупом перевірок без базових знань неможливо.

«Базові перевірки на секьюріті » - Достатні рівно до того момену як вас ломануть ) Так думали Київстар та МеДок що в них «Базові перевірки на секьюріті» — тестування секьюріті воно або робится людьми які за це відповідають або це профанація «Хоть щось у нас в безпеці »

ще раз перечетайте коментарі, утомили

Та ми й читаємо )

когда человек некомпетентен в каком-либо направлении, он не может объективно оценивать действия и выполненую работу других, так как не разбирается в направлении, но при этом может влиять на твою зарплату — звучит максимально абсурдно, успехов

кожен СЕО

не разбирается в направлении

і впливає на зп :-)

СЕО як раз майже завжди розбираеться в направленні бізнесу, на відміну від СТО який відповідає за технічні рішення

мені здається цей діалог зайшов в тупік і кожен все одно залишиться при своїй думці, це також супер.
особисто я так і не зрозуміла, чому я не можу помити свою кружку, якщо у мене є прибиральниця, яка на цьому спеціалізується, але окей 😅
я вдячна, що кожен висловився та поділився досвідом, в будь-якому разі це цікаво)

Некоректне порівняння, краще порівняти так, Я построю 10 поверховий будинок,
Добре який в вас досвід —
Та ліпила пасочки з піску в пісочниці

в тому і проблема, що стаття і її посил зовсім не в тому, що базові знання секьюріті — це заміна повноцінного пентесту 🤷🏻‍♀️ мені, як QA, важливо розуміти і дизайнерів, і БА, і розробників, щоб краще розуміти продукт і як він будується. так от знання секьюріті також важливі. якщо особисто ви не хочете цим займатися, то не займайтеся))

в треде обсуждают, что якобы не нужны базовые знания, и достаточно «вайбового» сек-тестинга уровня уборщицы. советую пройти базовые лабораторные на hack the box — уже в первом уроке вас ждёт виртуализация с линуксом, который здесь осудили, а также работа с терминалом и эксплойтами. после этого можем вернуться к этому треду, чтобы понять, с чем на самом деле придётся сталкиваться даже на базовом (поверхностном) уровне, и чтобы получился конструктивный разговор в этом домене. даже за вышеупомянутый owasp top 10 — люди не понимают глубину и какие техзнания необходимы для эвалюации проблем. круто, если тестировщик или любой другой инженер этим интересуется, но делать из этого какой-то цирк в стиле вайб-кодинга — такое себе

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

опять-таки, вы говорите про инъекции и думаете, что они сводятся к ’ OR ’1’=’1, которые покрывает санитизация, а проверки, начиная от среднего уровня сложности — слепой инъекции, out-of-band, обходов фильтров и WAF, эксплойтов stored процедур, обскурных кейсов — где уже нужны тех знания и компетенция, использование сторонних утилит — всё это не укладывается в понятие «я же сама себе могу чашку помыть», в итоге выйдет плохо помытая чашка :)

хай буде так, як ви кажете) гадаю, що ви так і не зрозуміли мій посил і сперечатися далі не бачу сенсу 🫠

Цікава стаття і дуже все зрозуміло написано як для мене, хоча я просто цікавлюсь новою інформацією. Дякую Вікторія

Я дуже рада, дякую і вам 🙏🏼

Для себе Security вважав щось недосяжне для Manual QA, щось на рівні SQL ін"єкцій, DDoS атак чи інших складних штук. А тут виявляється є зовсім прості речі, які можуть коштувати бізнесу дуже дорого, і які доступні для тестування практично кожному QA рівня Middle. Дякую за статтю!

Дякую, Микола! Доречі, SQL інʼєкції також не сверх-важко, є вже купа готових інʼєкцій, котрі у відкритому доступі і їх можна спробувати на ваших продуктах (без шкоди для них) 🙌🏼

Супер стаття, дякую вам!

Дякую і вам, що прочитали 😊

Дуже класна і корисна стаття, Вікторія, особливо мені відгукнулася думка про те, що QA — це не просто про баги, а про турботу про продукт і користувача, це дуже свідомий підхід до роботи. Приклади з Broken Access Control та Business Logic Vulnerabilities — просто топ, дуже чітко і зрозуміло. Дякую, що ділитеся таким досвідом! Мотивує глибше зануритися в тему безпеки і вже стає менше страшно розвідувати такі теми.

Дуже дякую за увагу! Я рада, що вдалося пояснити простими словами 🙌🏼

Так, основи безпеки це вже базова навичка для QA. Просто прочитати OWASP Top 10 (найпопулярніші веб-вразливості) і пробувати руками їх відтворювати цілком реально. QA зможе знайти вразливості, які лежать на поверхні (якщо такі будуть). Але я думаю, що все таки для повноцінного тестування безпеки все еще треба найняти спеціаліста з кібербезпеки, для більш детального аналізу продукту. І до речі на основі звітів від цих спеціалістів QA сам може вчитись дивитись де були слабкі місця в системі в рамках безпеки))

Тааак, 100% має бути спеціально-навчена людина для повноцінного пенетрейшену. Гадаю, якщо працювати в парі, то це буде взагалі ідеально

Якщо не секрет які курси проходили по безпеці?? І також підскажіть, де в TryHackMe блок чи кімната для QA?? А то я там вже немало сиджу, але для КуА нічого не бачив такого прям окремого

курс проходила від школи robot_dreams (jobs.dou.ua/companies/robot-dreams), називався Application Cyber Security. А що до TryHackMe, там є кімната Dear QA 🙌🏼

Підписатись на коментарі