Перечисление каталогов по ошибкам. CVSS3.1 и исправление

Aug 20 2020

Рассмотрим этот сценарий. Если я перехожу к 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

Но как насчет исправительной части? Это действительно нужно? Будет ли контрпродуктивным совет использовать общую ошибку для обоих ответов?

Ответы

1 Sibwara Aug 20 2020 at 10:54

Трудно определить правильную оценку по CVSS, поскольку внутреннюю древовидную структуру нельзя назвать «секретом».
Таким образом, необходимо обсудить влияние на конфиденциальность.

Получение информации о цели упрощает дальнейшие атаки, но это не атака.
Это различие иногда материализуется с помощью концепции «несоблюдения», которая отличается от «уязвимости».

Исправление для этого конкретного примера часто состоит в том, чтобы фиксировать и регистрировать каждую ошибку (чтобы вы получали уведомление, когда есть ошибка 500 и другие важные) и отображать общее сообщение об ошибке с кодом 200 OK в браузере.
Таким образом, вы также можете избавиться от многих веб-сканеров.