V13.2.5 RESTful Web Service
Requirement:#
Verify that REST services explicitly check the incoming Content-Type to be the expected one, such as application/xml or application/json.
Explanation:#
Требование безопасности в стандарте ASVS требует проверки того, что службы REST явно проверяют входящий Content-Type на соответствие ожидаемому, например, application/xml или application/json. Это требование помогает предотвратить такие атаки, как подмена типа содержимого, которые могут быть использованы для обхода средств контроля безопасности и выполнения вредоносного кода.
Remediation:#
Вот пример того, как можно проверить Content-Type входящих запросов в REST-сервисе с помощью Python Flask:
В этом примере оператор request.headers.get('Content-Type') используется для получения Content-Type входящего запроса. Если значением заголовка Content-Type не является application/json, служба REST возвращает ответ об ошибке. В противном случае служба обрабатывает запрос и возвращает ответ об успехе.