Я тестировал эксплойт сайта.
Уязвимость связана с внедрением объектов PHP.
Злоупотребление unserialize()
может вызвать эти проблемы.
Кроме того, я нашел предупреждение в официальном руководстве php, как показано ниже:
Они предполагают, что мы должны использовать json_encode()
а также json_decode()
,
Однако мне интересно, почему json_encode()
а также json_decode()
более безопасны, чем serialize()
а также unsrialize()
?
Разница в том, что serialize хранит объект. Если вы измените содержимое строки перед десериализацией, вы можете обмануть систему для запуска вредоносного кода.
С функциями json_ * вы сохраняете не объект, а данные. После «распаковки» объект должен быть создан из оригинальных источников, и только после этого могут быть переданы данные json_decoded для обработки.
Других решений пока нет …