Показать сообщение отдельно
  #7 (permalink)  
Старый 31.03.2018, 09:55
Аватар для brizing
Интересующийся
Отправить личное сообщение для brizing Посмотреть профиль Найти все сообщения от brizing
 
Регистрация: 08.02.2014
Сообщений: 23

Белый шум, сессионный токен есть на другой странице.
Но с помощью JS можно получить код другой страницы и спарсить хеш

Против этого сервер отфутболивает все запросы, которые приходят от страницы с пользовательским скриптом.
Судя по всему, есть только один способ подменить referer в запросах.

Против вашего кода я попробовал сделать так:
function overrideContentAccess(iface) {

    var contentWindowDescriptor = Object.getOwnPropertyDescriptor(iface.prototype, "contentWindow");

    // По-видимому, в HTMLObjectElement.prototype.contentWindow не существует
    // в более ранних версиях Chrome, таких как 42.
    if (!contentWindowDescriptor) {
        return;
    }

    var getContentWindow = Function.prototype.call.bind(contentWindowDescriptor.get);

    contentWindowDescriptor.get = function () {
        return false;
    };

    Object.defineProperty(iface.prototype, "contentWindow", contentWindowDescriptor);
}

var interfaces = [HTMLFrameElement, HTMLIFrameElement, HTMLObjectElement];
for (var i = 0; i < interfaces.length; i++) {
    overrideContentAccess(interfaces[i]);
}

var iframe = document.createElement('iframe');
document.body.append( iframe );
console.log('iframeWindow:', iframe.contentWindow);


Но frames[0] по прежнему возвращает объект.
Ответить с цитированием