Частые вопросы по уязвимостям сайтов и основные выводы
Ребята, заметил, что у многих возникают одни и те же заморочки с уязвимостями на сайтах — особенно что-то про XSS, SQL-инъекции, аутентификацию и настройки серверов. Вот что выводы из моего опыта и некоторые собственные наблюдения.
Во-первых, большинство проблем появляются из-за непроконтролированных вводов и кривой работы с сессиями. Почти всегда помогает простая проверка всех форм на ввод, фильтрация и экранирование данных. Даже базовые вещи часто недоделывают, и баги получаются весьма банальными.
Во-вторых, не стоит забывать про конфигурацию самого сервера: правильные права на файлы, отключение ненужных модулей, актуальные патчи — это прям must-have. Часто вижу, как сайты висят на старье и спустя пару кликов легко лезут внутрь.
Для проверки проще всего стартовать с автоматических сканеров, но не стоит на них полагаться целиком. Они быстро отлавливают очевидные дырки, но сложные варианты требуют ручного анализа и понимания логики приложения. Например, захожу через curl посмотреть ответы, проверяю заголовки безопасности, потом тупо пробегаюсь тестовыми payload-ами в местах ввода.
Если есть возможность — сделать стейджинг версию и там пушить попытки исправить, ловить ошибки лога и смотреть, что падает. В бою с уязвимостями тестовый стенд — золото.