Перейти к содержанию

JP1033C

Использование json.load

Static Badge

Static Badge Static Badge


Проверка использования json.load. Злоумышленник может воспользоваться данной конструкцией для загрузки файла большого размера, что может привести к чрезмерному использованию системных ресурсов.

Достоверное определение размера файла не представляется возможным на этапе сканирования, поэтому рекомендуется использование динамической проверки параметров загружаемого файла и использование директивы #nosec. В качестве альтернативы предлагается ипользование последовательных json парсеров, таких как ijson, ujosn и т.п..

Пример небезопасного использования

1
2
3
4
import json

_file = open("large-file.json", "r")
data = json.load(_file)

Дополнительная информация