Есть ли какие-нибудь уязвимости в JSON? - PullRequest
2 голосов
/ 26 февраля 2012

Это не о eval()

Допустим, у меня есть #password, и я отправляю эти данные как часть объекта JSON

var toSend = {
    text: 'hello',
    pass: $("#password").val()
};

Нужно ли проверять ввод?Будет ли ", you: "are hacked" интерпретироваться на другой стороне сообщения как одна строка или пустая строка и другое свойство?

edit : ничего не произойдет в среде браузера, но если JSON будет отправлен через Интернеткак обычный текст и снова проанализировал?

1 Ответ

7 голосов
/ 26 февраля 2012

Если бы вы выполнили то, что описали, ничего бы не произошло, поскольку json экранируется (если вы используете парсер (объект JS -> JSON))

В браузерной среде ничего не произойдет, но если JSON будет отправлен через Интернет в виде простого текста и проанализирован снова?

Если вы анализируете строковую версию (JSON) для объекта JS, все значения не экранированы, поэтому вы должны их потом экранировать.

...