Как настроить Spring MVC для предотвращения "уязвимости на основе путей"
У меня есть приложение Spring MVC (5.0.8.RELEASE), и недавнее сканирование безопасности показывает, что оно имеет "Уязвимость на основе пути". Вот контроллер:
@RequestMapping(value = "/faq", method = RequestMethod.GET)
public String faq(HttpServletRequest request) {
return "faq";
}
Для приведенного выше контроллера, вот действительный URL для моей страницы часто задаваемых вопросов:
Однако, основываясь на проверке безопасности и на том, что я тестировал, работает следующий URL:
http://example.com/faq.anything
Как я могу настроить Spring MVC, чтобы сделать http://example.com/faq единственным действительным URL? (предположим, что я не использую @PathVariable)
1 ответ
Поскольку суффикс поддержки весны ".*" По умолчанию. / person также сопоставляется с /person.* /person.xml или /person.pdf или /person.any также сопоставляется. - Чтобы полностью отключить использование расширений файлов, вы должны установить оба из них:
.useSuffixPatternMatching (ложь)
.favorPathExtension (ложь)
https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html