Создать свой объект document
Доброе утро.
Для конспирации хочу неявно обратиться к document.cookie. Это можно сделать с помощью JSfuck. Но пока этот способ отложим. Я посмотрел на document.__proto__, судя по всему, document создан из объекта HTMLDocument, и там есть свойство cookie. http://i.imgur.com/05mLc5x.png Можно как-то обратиться к кукам через конструктор HTMLDocument? |
вы xss нашли? хотите куки воровать? :blink:
|
Rise, точно, конструктора нет.
Посмотрим-ка сюда: http://i.imgur.com/r9GDO4I.png "TypeError: Illegal invocation" - ошибка возникает когда идёт вызов ф-ии без указания правильного this, например ф-ия из scope без самого scope, log без console, alert без window и т.п. (источник: https://toster.ru/q/268947) Значит, мы можем позвонить кукам и передать правильный this? Типа так: HTMLDocument.prototype.cookie.call(правильный_this) Не? j0hnik, с сервера в куки прилетает ключ, а в JS этот ключ дешифруется и если все ок - код выполняется дальше. Благо, код большой, и если спрятать место, в котором используются document.cookie, защита будет почти как у дюрекс. |
Ну через document.createYYYYY() можно создать ифрейм у которого есть экземпляр HTMLXXXXX(), который можно получить но топикстартер явно гвозди микроскопом забивает. И совсем непонятно зачем ему это нужно.
|
console.log( Object.getOwnPropertyDescriptor(Document.prototype, 'cookie').get.call(document) ); |
Цитата:
|
Всем спасибо.
|
console.log( (Object.getOwnPropertyDescriptor(Document.prototype, 'cookie') || Object.getOwnPropertyDescriptor(HTMLDocument.prototype, 'cookie')).get.call(document) ); var f = obj => Object.getOwnPropertyDescriptor(obj.prototype, 'cookie'); console.log( (f(Document) || f(HTMLDocument)).get.call(document) ); |
Rise, У хромовых, по всей видимости, наследуется в HTMLDocument от Document, а в FF - сразу в HTMLDocument лежит.
|
Часовой пояс GMT +3, время: 17:04. |