Перечисление каталогов по ошибкам. CVSS3.1 и исправление
Рассмотрим этот сценарий. Если я перехожу к https://www.example.com/existentdirectory
веб-приложению, появляется эта ошибка «список каталогов запрещен».
Если я перехожу к https://www.example.com/nonexistentdirectory
веб-приложению, появляется эта ошибка «файловый каталог не найден».
Для меня это было бы шансом для злоумышленника перечислить каталоги и получить информацию о цели.
Я бы назначил следующий вектор CVSS3.1:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Но как насчет исправительной части? Это действительно нужно? Будет ли контрпродуктивным совет использовать общую ошибку для обоих ответов?
Ответы
Трудно определить правильную оценку по CVSS, поскольку внутреннюю древовидную структуру нельзя назвать «секретом».
Таким образом, необходимо обсудить влияние на конфиденциальность.
Получение информации о цели упрощает дальнейшие атаки, но это не атака.
Это различие иногда материализуется с помощью концепции «несоблюдения», которая отличается от «уязвимости».
Исправление для этого конкретного примера часто состоит в том, чтобы фиксировать и регистрировать каждую ошибку (чтобы вы получали уведомление, когда есть ошибка 500 и другие важные) и отображать общее сообщение об ошибке с кодом 200 OK в браузере.
Таким образом, вы также можете избавиться от многих веб-сканеров.