Bug or Defect?
2.51K subscribers
237 photos
94 videos
1 file
213 links
Download Telegram
Bug or Defect?
Доброго вечора) Я знаю, я обіцяв і не забув. Сьогодні трохи про безпеку. Не лекція, а просто по-людськи, шо я юзав, юзаю, і за що не соромно порадити. Тема реально зараз гаряча, всі говорять про CVE, вразливості, атаки на прод, і навіть QA вже не може нічого…
Всім доброго вечора друзі! як ваш настрій?

ну що продовжуємо далі?

OWASP ZAP коротко, по справі і для чого це

почнемо саме з інструменту, який дійсно використовував не один раз. Не з курсів. Не з теорії. А коли треба було швидко перевірити вебдодаток і не чекати, поки хтось підключиться.

Що я маю вам сказати за цей ZAP?

https://www.zaproxy.org/
ZAP (Zed Attack Proxy) це DAST-сканер від OWASP. якщо дуже коротко то його завдання, перевірити вебдодаток у дії, знайти дірки, показати, що саме можна зламати прямо зараз. Відкрив, запустив, перевірив.

де можно його застосовувати,

- Перевірка після інтеграцій на QA-середовищі
- Перевірка на швидку руку перед демкою
- Коли бекенд чи фронт поводиться дивно, а деви кажуть "у нас все норм"
- Просто як звичка, щоб не тягнути в прод фігню

Вміє він не багато - але як)
- це втоматичний скан по всіх сторінках і запитах
- Фуззинг форм, параметрів, щоб подивитися, чи щось не ламається
- Працює через зручний UI або з CLI
- і у звісно підтримка інтеграцій: GitHub Actions, Jenkins тощо, також Можна проганяти Postman-колекції

Во флоу він ну ше простіше ніж ви собі уявляєте,

Скачав, Ввів URL свого стенду

Вибрав режим "Automated Scan"

Подивився, що вилізло у вкладці "Alerts"

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

на шо саме треба звертати увагу то це на
Неправильні заголовки (X-Frame, CSP, XSS і т.д.), Відсутність Secure/HttpOnly у cookies, IDOR і відкрите API без авторизації

Звісно шо ZAP не замінить повноцінний пентест, але для повсякденної практики QA, саме те. Тим більше, що можна інтегрувати в пайплайни CI і запускати на кожен білд.

Мій поінд у чому
Якщо ти QA і працюєш з вебом, знайди 10 хвилин, розберися з ZAP. Це простий і ефективний інструмент, який реально підсвітить речі, що можуть пройти повз тебе. І це той самий момент, коли ти не просто клікаєш UI, а закриваєш вразливості ще до того, як про них хтось напише в чаті клієнта.

Так що ось так)

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

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

Всіх обняв 🤗🤗🤗
❤‍🔥12🔥71😁1
Друзі, доброго ранку!


Як ви? Як настрій? Надіюсь, що ви в безпеці і з гарячою кавою в руках

У мене сьогодні день почався з новин про нові фішингові атаки, прям лізуть звідусіль


Тому хочу вам щиро порадити одну топову штуку безкоштовний курс від Alison по цифровій безпеці - я його рекомендую свої учням - бо бувають тицяють усе підряд
Digital Security Awareness
https://alison.com/course/digital-security-awareness

так те що я люблю и багато хто

Дасть круте розуміння як працюють фішингові атаки
Навчить розпізнавати небезпеки
І ще сертифікат отримаєте для галочки)))

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

якщо ще хтось якись знає кидайте комент)

А поки бажаю вам продуктивного, спокійного дня!
Сильні 💛
Обняв 🤗
🔥103🤗2
Завдання дня для QA:

Яка база краще для зберігання такого JSON? { "user": "Іван", "items": [ { "product": "Чай" }, { "product": "Кава" } ] }
Anonymous Quiz
2%
(A) Excel просто таблиця з рядками і колонками
52%
(B) SQL усе чітко: таблиці, зв’язки, JOIN
43%
(C) NoSQL як коробка, в яку можна скласти все, що завгодно
3%
(D) Google Docs бо зручно копіпастити
5🔥3👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Привіт, колеги!
Як ваш день, як настрій?

Ну шо, вчора реально відпочили, чи відпочивали з ноутом на колінах?

Бо в мене, як завжди: що вихідний, що ні одне і те саме.

Купа лекцій + ще й підготовка матеріалу для для учнів ну і для вас звісно)

Сьогодні зловив відео, яким просто не можу не поділитися.
Це реально Я + 50% з вас, які вже в середу чекають пʼятниці 😭

Ну що
Видихнули.
Попили кави.
Погнали розносити таски з силою QA 😜

Гарного вам дня і хай буде продуктивним!
Сильні.💛
👍63😭3💯2🤗21
Завдання дня для QA:

Ти залогінився на сервер і хочеш переглянути останні 50 рядків з лога app.log, який лежить у /var/logs. Яку команду ти використаєш?
Anonymous Quiz
13%
(A) head -n 50 /var/logs/app.log
21%
(B) less /var/logs/app.log | tail -50
48%
(C) tail -n 50 /var/logs/app.log
17%
(D) cat /var/logs/app.log | head -50
🔥64👍1🤔1
Bug or Defect?
Завдання дня для QA:

Яка база краще для зберігання такого JSON? { "user": "Іван", "items": [ { "product": "Чай" }, { "product": "Кава" } ] }
Привіт друзі - ну що чучуть розберемо цей пул?


(A) Excel ну я думаю тут не будемо сильно зупиняться і так все понятноТак,
Excel топ для таблиця хто що здав, але JSON з вкладеним масивом у Excel виглядає як трагедія.
Пробуєте розтягнути items, зберегти цілісність структури, а потім ще це все парсити... Це не база це костиль)


Чому все ж не (B) хоча так хотілось би, Так?
На перший погляд виглядає як норм: робимо таблицю users, окремо items, через user_id зв'язуємо. Але постійно є це АЛЕ, Структура JSON вимагає нормалізації а масив items це взагалі окрема таблиця ну і потрібні JOIN'и для відновлення повної структури
І якщо у product завтра додасться поле price треба міняти схему.

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

(D) Google Docs, для копіпасту - тут теж все просто і зрозуміло)
Ніяких індексів, запитів, цілісності, Це не база, а текстовий документ. JSON там зберігається просто як текст.



ну і чому саме (C) NoSQL, правильна відповідь)
Наприклад, MongoDB, документна база, яка приймає JSON/BSON як є. Це прямо такий об’єкт, без трансформацій, зберігається як документ. Масиви, вкладення, різні типи ну і усе зберігається без втрати структури. це дуже підходить для API-first підходу, де UI/API головні, а база лише бекенд.

Якщо прям Технічно - insertOne({ user: "Іван", items: [...] }), це вже вся операція, як що пошук: db.orders.find({ "items.product": "Чай" }) так кажучи Без JOIN, без схеми, без болю

У тестах зручно перевіряти, що API повертає, і зберігати аналогічну структуру.

як кажуть QA не тільки клік і подивився.
А треба зрозуміти, як і де зберігаються дані, це вже рівень вище.
Бо коли API скаже "500", ти маєш знати, де воно могло впасти.

Обійняв 🤗
🔥11❤‍🔥4🤗31
This media is not supported in your browser
VIEW IN TELEGRAM
Привіт, друзі! Як ранок?

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

Пізніше на обіді опишу вам вчорашній фокап, як я читав системні лінуксові логи на Windows, бо моя Linux-машина в ремонті. Квест реально 10 з 10: ssh нема, 80-й порт закритий, а журнал треба глянути.

А поки, бажаю вам гарного і стабільного дня!
На відео, скоріше за все, сьогодні

На Відео ОБЕРЕЖНО мат)

Обняв🤗🤗☀️
😁12👍4🤣1🤗1
Ну що всім ще раз привіт)

Обідня Історії QA)

Коротше, моя Linux-машина в ремонті. І виявилось якщо треба почитати системний лог з лінукса на вінді, це та ще пригода.
А ситуація така: приходять до мене і кажуть, апка не працює, REST не відповідає.
Ну і я такий як завжди думати що не так

А Сертифікат живий?
Пішли перевіряти. За пару хвилин повертаються:
Та ні, просрочений. Вже кілька днів.

Ну я в шоці, TLS мав сам автоматом оновити. Значить десь щось пішло не так...

Окей, думаю, стягну логи з сервера, подивимось по acme, шо там і як.

Ну всі і так знають але нагадаю
Команда, щоб скачати лог з лінукса
scp user@server:/var/log/syslog ./syslog

(або

/var/log/journal/

якщо journald - тут треба дивитись, куди пише система)

Але тут почалось найвеселіше, як його глянути на вінді?
Бо журнал в journalctl-форматі, це не просто текстовий файл. Він у бінарному форматі systemd journal.


Як скачати логи з Linux на Windows (якщо твій комп тимчасово на Windows)?

вроді все легко, але коли ти це знаєшь, коротше робиться це через scp,
але треба або:

WSL (якщо в тебе встановлений), або OpenSSH client в PowerShell.

Якщо ще не встановлено то треба качать WSL
wsl --install


Після ребуту (або через Microsoft Store) постав Ubuntu. І тільки тепер можна юзати scp прямо з PowerShell або Ubuntu консолі у WSL.

Команда для завантаження логів з Linux-сервера
scp user@your-server:/var/log/syslog C:\Users\yourname\Downloads\

або якщо файл з journal:
scp user@your-server:/var/log/journal/remote/system.journal C:\Users\yourname\Downloads\


Ну якщо пароль не питає або каже "permission denied" можно зробити і додати ключ -i для ssh-ключа або зробити ssh-copy-id на Linux перед цим

Після того, як скачав лог (наприклад syslog або system.journal), треба подивитися, що там взагалі писалось про acme, certbot, або letsencrypt.

Якщо це простий .log файл (наприклад syslog,

/var/log/syslog, /var/log/letsencrypt/letsencrypt.log)

:


То можно просто юзати
cat syslog | grep acme
cat syslog | grep certbot
cat syslog | grep letsencrypt

або на вінді (через PowerShell):
Select-String -Path .\syslog -Pattern "acme"



можете побачити такий лог умовно,
acme: Attempting to renew cert...
acme: Renewal failed: Could not connect to http://yourdomain/.well-known/acme-challenge/...
або
certbot[12345]: Successfully received certificate.
certbot[12345]: Cert is not due for renewal


Тобто видно:
чи взагалі намагався оновлювати, чи пройшла валідація яка була помилка (80 закритий, DNS не той, або ще щось) або коли останній раз проходило успішно

Якщо у вас systemd journal (system.journal, journalctl), то фільтруєте так:


journalctl --file=./system.journal | grep acme
journalctl --file=./system.journal | grep certbot

або без grep:
journalctl --file=./system.journal -u certbot

Можна ще по часу:
journalctl --file=./system.journal --since "3 days ago" | grep acme


Якщо проблеми скоріше покаже щось типо того - вони типо за часту стандартні
acme: Renewing an existing certificate
acme: Could not connect to http://mydomain.com/.well-known/acme-challenge/

одразу зрозуміло: серт пробував оновити, але 80-й порт був закритий зовні. Сертифікат не зміг зробити HTTP-челендж.
Як результат, автоматичне оновлення впало, і ніхто не побачив. Сертифікат протух.

Ну і да Якщо у вас certbot з логами

/var/log/letsencrypt/letsencrypt.log

там теж все видно, навіть без journal. Можна просто відкрити й шукати ERROR, challenge, timeout, renewal.

Ось Тепер ви знаєте, як викачати і прочитати логи, навіть якщо ти тимчасово на Windows.
І ще раз переконався, що журнал це твій друг.

Може ви знаєте якісь другий спосіб або свидший то пишіть - мені це буде цікаво і актуально)
7❤‍🔥43🔥2👍1
Завдання дня для QA:

Апка на стейджі не відповідає. Фронт шле запит умовно на https://backend.internal/api, але 500 або взагалі тиша. API нібито підняте, все має працювати, але не працює: Що перевіриш у першу чергу?
Anonymous Quiz
36%
(A) ping backend.internal
10%
(C) nc -zv backend.internal 443
10%
(D) telnet backend.internal 443
👀14👍31🔥1😁1
Всім доброго вечора колеги, як ваш день)

Сьогодні трохи про SQL. Але не з позиції "от вам SELECT, INSERT і біжіть".

Багато хто з QA знає базові запити, але цього недостатньо, коли починається реальна робота з проєктом. Особливо, якщо це мікросервіси, складна логіка чи просто бажання перевірити, що дані справді коректно записались після форми чи API-запиту.

SQL це не лише про "уміти писати SELECT", це про "розуміти, як поводяться дані всередині". Чому запит не повертає результат? Чому після UI-дії в базі дірка? Чому UPDATE без WHERE може все зламати?

Тема сьогодні: топові SQL-команди, які повинен знати кожен QA, це не строго але вам буде великий +++
Ось вам зручна шпаргалка по всьому

Який поін від мене)
SQL, це не про бази, це про контроль.
Іноді саме SELECT покаже більше, ніж будь-який UI.

Всім гарного вечора друзі)

Обняв 🤗🤗🤗💛

Буду вдячний за репост группи якщо вам заходить мої дописи 🫣
1👍197🔥32🤗2
Доброго ранку, друзі! Як настрій?

В Одесі сьогодні свіже повітря після дощу, якраз той настрій, коли хочеться пити каву на балконі й шукати щось нове для росту

Натрапив на класну статтю для QA, хто хоче або вже керує проєктами. Вона не про як писати баг-репорти, а саме про управління кількома проєктами, пріоритетами, людьми й процесами. Якщо ви вже відчуваєте, що просто тестувати, цього мало, дуже раджу

https://www.practitest.com/resource-center/article/qa-project-management/

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

Гарного дня всім!☀️☀️☀️
Обіймаю 🤗🤗🤗
❤‍🔥105👍51
Завдання дня для QA:

Фіча: Додав товар, з'являється попап з кнопкою Перейти в корзину. Тест: Попап є/ Кнопка працює / UI норм/ Але в базі товару немає Це ще acceptance-тестування?
Anonymous Quiz
19%
(A) Ні, це просто флоу
46%
(B) Так, бо перевіряється бізнес-вимога
33%
(C) Ні, це інтеграційне
2%
(D) Так, але тільки в проді
👍4👀4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Друзі, всім привіт і обійми ❤️
Як ви? Сподіваюсь, усе добре і ви в безпеці.

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

Я просто хочу побажати вам гарного дня і трохи натхнення 🌤
Ось вам коротенький мотиваційний ролик, гляньте, може стане тепліше:

Cильні💛💛💛
Обняв!🤗🤗🤗
19🤗8🥰3