V5.5.4 Deserialization Prevention
Requirement:#
Verify that when parsing JSON in browsers or JavaScript-based backends, JSON.parse is used to parse the JSON document. Do not use eval() to parse JSON.
Explanation:#
Убедитесь, что при разборе JSON в браузерах или в серверной части на основе JavaScript для документа JSON используется JSON.parse. Не используйте eval() для разбора JSON.
Это может позволить злоумышленнику выполнить произвольный код или, по крайней мере, изменить код, который может быть выполнен.
Remediation:#
Устранение этой проблемы заключается в том, чтобы убедиться, что при синтаксическом анализе JSON в браузерах или бэкендах на основе JavaScript вместо eval() используется метод JSON.parse. Это гарантирует, что входные данные обрабатываются как строка, а не выполняются как код.
Вот пример того, как использовать JSON.parse для анализа данных JSON:
В этом примере метод JSON.parse используется для анализа данных JSON, хранящихся в переменной jsonData. Метод возвращает объект JavaScript, который затем можно использовать для доступа к свойствам данных JSON.