У меня есть вопрос о защищенной памяти javascript. Если у меня есть функция:Отображение частных переменных в Javascript
var obj = function(){
var secret = "secret",
super_secret = "my super secret string";
return {
get_secret: function() {
return secret;
}()
}
}();
Можно ли получить строку из super_secret любыми способами?
Я видел некоторый эксплойт, который использовал throw() и Error(), чтобы получить переменную из функции. Однако это не было сделано с закрытием. Все входные данные и «hunches» приветствуются. Я планирую проект, где мне нужно быть уверенным, что нет никакого известного способа извлечь или изменить переменную super_secret.
На самом деле это вопрос, можете ли вы получить super_secret с Firebug? Смею вас попробовать;) По крайней мере, я не смог найти его с Firebug или Webkit Inspector. – Mike
Да, это очень просто. Поместите отладчик в firebug, а затем вы сможете получить доступ ко всем данным внутри объекта. –
Вы сейчас говорите о просмотре сценария, который был оценен, или об объекте, хранящемся в памяти? Я говорю в памяти. Можете ли вы сказать мне, как именно и что мне нужно сделать, чтобы отлаживать оцененный объект, чтобы увидеть super_secret. – Mike