Почему делают люди помещают код как “бросок 1; <не злой>” и “для (; ;)”; перед json ответами? [дубликат]

210
задан User that is not a user 3 August 2017 в 15:47
поделиться

4 ответа

Даже без for (;;); как бы злоумышленник получить данные?

Атаки основаны на изменении поведения встроенных типов, в частности Object и Array , путем изменения их функции конструктора или его прототипа . Затем, когда целевой JSON использует конструкцию {...} или [...] , они будут собственными версиями этих объектов злоумышленника с потенциально неожиданным поведением.

Например, вы можете взломать свойство-установщик в Object , которое будет выдавать значения, записанные в объектных литералах:

Object.prototype.__defineSetter__('x', function(x) {
    alert('Ha! I steal '+x);
});

Затем, когда