Если хочешь вникнуть в тему уязвимостей, первый шаг — понять, что это не только про поиск багов или взлом. Уязвимости — это слабые места в коде, настройках или инфраструктуре, через которые кто-то может навредить. Поэтому сначала надо научиться их искать в своих проектах, а не чужих, и главное — фиксить.
Как проверять? Лично я начинаю с того, что смотрю на самую очевидную базу: слабые пароли, устаревшие версии софта, небезопасные конфиги. Потом пробую самые стандартные уязвимости — SQL-инъекции, XSS, настройку прав доступа. Лучше всего вести чек-лист с этими моментами, чтобы ничего не пропустить.