← Все заметки

Пять дыр, которые мы находим почти в каждом сайте

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

Первое: приватные файлы, доступные по прямой ссылке. Договор клиента лежит в /uploads/contract-4382.pdf, и «защита» состоит в том, что ссылку никто не угадает. Угадывают. Перебором, за вечер.

Второе: подробные ошибки наружу. Стектрейс с путями до файлов, версией фреймворка и куском SQL дарит атакующему готовую карту. Пользователю достаточно сообщения «что-то пошло не так», а детали остаются в логе.

Третье: формы без rate-limit. Форма логина, принимающая тысячу попыток в минуту, работает не как форма логина, а как тренажер для перебора паролей.

Четвертое: доверие к данным из браузера. Цена товара, приходящая из формы корзины, id пользователя из cookie без подписи, все это переписывается в один клик в devtools.

Пятое: админка на /admin с паролем из письма трехлетней давности. Смените. Прямо сейчас, мы подождем.

Каждый пункт закрывается за часы, если о нем знать. Именно поэтому security-ревью в наших проектах стоит в плане с первого дня, отдельной опцией мы его не продаем.

Есть похожая задача?

Напишите пару строк - оценим объем и сроки бесплатно.

Обсудить проект