Size: a a a

2020 July 16

NK

ID:0 in WebPwnChat
В те времена, когда трава была зеленее, солнце светило ярче, самым крутым браузером был Netscape, а сайты верстали таблицами - не было CORS. Тем более таких штук как postMessage.
Но была крутая фича - имя текущего окна.

window.name - переменная, в которую можно записать данные на одном сайте, а прочитать уже на другом. Поэтому, во времена frameset, олдфаги использовали имя окна для полноценного междоменного взаимодействия. Сейчас это, конечно же, легаси.

Но переменная name все еще доступна! Использование её в рамках одной вкладки позволяет передавать большое количество данных, тем самым минимизируя вектор атаки. А еще на сервере не залогируется, что именно ты выполнил (тоже забавно).
Особенно это полезно в случае CSRF + Reflected XSS, когда ты можешь определить name до того, как отправишь жертву на уязвимую ссылку прямо на странице с формой.

Ведь для полноценного выполнения полезной нагрузки достаточно вызвать eval(name) (10 байт), а для подключения внешнего скрипта в Chrome import(name) (12 байт).

Вот примерчик.

Ставим name с alert'ом на одном домене, а выполняем его на другом.
источник

B

Bo🦠oM in WebPwnChat
Чет много про ксски
источник

B

Bo🦠oM in WebPwnChat
А я еще в запасе держу
источник

B

Bo🦠oM in WebPwnChat
Надо разбавить
источник

B

Bo🦠oM in WebPwnChat
@sergeybelove @kaimi_ru помогайте
источник

SB

Sergey Belov in WebPwnChat
Bo🦠oM
@sergeybelove @kaimi_ru помогайте
Я сначала подумал про то, что корс как-то помогает не верстать таблицами)
источник

B

Bo🦠oM in WebPwnChat
Sergey Belov
Я сначала подумал про то, что корс как-то помогает не верстать таблицами)
Ну на самом деле да
источник

B

Bo🦠oM in WebPwnChat
Sergey Belov
Я сначала подумал про то, что корс как-то помогает не верстать таблицами)
cors же почти вместе с html5 появился
источник

B

Bo🦠oM in WebPwnChat
а там и css3 подъехал
источник

B

Bo🦠oM in WebPwnChat
Таблицы не нужны
источник

SB

Sergey Belov in WebPwnChat
Ну дивы то были 🤯
источник

SB

Sergey Belov in WebPwnChat
Но я понял ход мыслей )
источник

B

Bo🦠oM in WebPwnChat
Sergey Belov
Ну дивы то были 🤯
Это ж надо углубляться в историю, но с приходом кошерных css начали от таблиц отказываться
источник

B

Bo🦠oM in WebPwnChat
Sergey Belov
Ну дивы то были 🤯
Ну вообще я чисто о времени написал, мол, когда-то давным-давно
источник

B

Bo🦠oM in WebPwnChat
не было корс)
источник

MR

Maxim Rupp in WebPwnChat
Bo🦠oM
cors же почти вместе с html5 появился
что? )
источник

B

Bo🦠oM in WebPwnChat
Maxim Rupp
что? )
cors же почти вместе с html5 появился
источник

B

Bo🦠oM in WebPwnChat
Не, html4 наверн
источник

B

Bo🦠oM in WebPwnChat
Тоже нет, там вообще 97
источник

B

Bo🦠oM in WebPwnChat
Да всем насрать
источник