Старый 06.10.2012, 11:04   #11
M_script
 
Регистрация: 06.07.2010
Сообщений: 113
Репутация: 33
По умолчанию

Тут все дело в реферере.

XSS можно выполнить:

1) На домене, с которого происходит переход по ссылке. http://tinyurl.com/antichat-test2 - выполняется на rdot.org.
Под "переходом по ссылке" подразумевается: клик по ссылке; открытие окна с нужной ссылкой; открытие ссылки во фрейме; перенаправление с помощью JS-кода, заголовка Refresh, тега meta. То есть, реферером должен быть атакуемый домен (при этом нет необходимости в передаче заголовка Referer)

2) На домене, с которого происходит редирект на data:. http://tinyurl.com/antichat-test1 - выполняется на tinyurl.com.
"редирект на data:" - перенаправление через заголовок Location непосредственно на ссылку, содержащую страницу в дата-схеме.

Редирект через Location, не является реферером для того сайта, куда перенаправляет, он как бы "прозрачный" - какой реферер получил, тот передал. Поэтому для таких редиректов возможен только вектор атаки из пункта 2.
Конкретно "vk.com/away.php?to=" запрещает перенаправление на data, поэтому 2 пункт тоже не подходит.


Атаку можно совместить с clickjacking'ом, если атакуемый сайт открывается во фрейме.
На vk.com можно использовать возможности создания iframe-приложений.

Последний раз редактировалось M_script; 06.10.2012 в 11:06..
M_script вне форума   Ответить с цитированием
Старый 06.10.2012, 11:13   #12
kingbeef
 
Регистрация: 28.10.2011
Сообщений: 17
Репутация: 0
По умолчанию

Цитата:
Сообщение от M_script Посмотреть сообщение
Тут все дело в реферере.

XSS можно выполнить:

1) На домене, с которого происходит переход по ссылке. http://tinyurl.com/antichat-test2 - выполняется на rdot.org.
Под "переходом по ссылке" подразумевается: клик по ссылке; открытие окна с нужной ссылкой; открытие ссылки во фрейме; перенаправление с помощью JS-кода, заголовка Refresh, тега meta. То есть, реферером должен быть атакуемый домен (при этом нет необходимости в передаче заголовка Referer)

2) На домене, с которого происходит редирект на data:. http://tinyurl.com/antichat-test1 - выполняется на tinyurl.com.
"редирект на data:" - перенаправление через заголовок Location непосредственно на ссылку, содержащую страницу в дата-схеме.

Редирект через Location, не является реферером для того сайта, куда перенаправляет, он как бы "прозрачный" - какой реферер получил, тот передал. Поэтому для таких редиректов возможен только вектор атаки из пункта 2.
Конкретно "vk.com/away.php?to=" запрещает перенаправление на data, поэтому 2 пункт тоже не подходит.


Атаку можно совместить с clickjacking'ом, если атакуемый сайт открывается во фрейме.
На vk.com можно использовать возможности создания iframe-приложений.

Это уже плохо,но у меня где то был шелл с игрой какой то в вк.
kingbeef вне форума   Ответить с цитированием
Старый 06.10.2012, 14:11   #13
12309
 
Регистрация: 25.12.2011
Сообщений: 265
Репутация: 33
По умолчанию

хозяйке на заметку:
http://linkdecrypter.com/
12309 вне форума   Ответить с цитированием
Старый 06.10.2012, 17:05   #14
nicco
 
Регистрация: 01.01.2011
Сообщений: 45
Репутация: 3
По умолчанию

Некоторое время назад на каком-то форуме видел, что продавали 0day под Оперу в несколько рук.
nicco вне форума   Ответить с цитированием
Старый 06.10.2012, 18:35   #15
Untitled
 
Аватар для Untitled
 
Регистрация: 24.06.2012
Сообщений: 131
Репутация: 30
По умолчанию

Цитата:
Сообщение от nicco Посмотреть сообщение
Некоторое время назад на каком-то форуме видел, что продавали 0day под Оперу в несколько рук.
Там продавалось другое - баг в обработке img-тега, который позволяет делать переадресацию.
Untitled вне форума   Ответить с цитированием
Старый 06.10.2012, 21:00   #16
slider
 
Аватар для slider
 
Регистрация: 07.07.2010
Сообщений: 15
Репутация: 5
По умолчанию

Цитата:
Сообщение от M_script Посмотреть сообщение
Атаку можно совместить с clickjacking'ом, если атакуемый сайт открывается во фрейме.
На vk.com можно использовать возможности создания iframe-приложений.
Начал извращение, в общем с ифреймом весьма хорошо сработало.. создал приложение, теперь ссылку можно давать на прямую в ICQ и т.п.

Вопрос только как вставить это дело во фрейм на ломаном сайте остался вопросом..
Вставляю как фрейм - вконтакт начинает выделываться.
Создаю файл с автосабмитом:

PHP код:
<body onload="p.submit()">
<
form action="http://vk.com/app" method="post" id="p"
и кидаю его во фрейм, всё равно нарушается видать реферер.. есть ли варианты?
__________________
У меня на ужин был старый приятель. Я съел его печень под гарнир с бобами и бокалом кьянти
slider вне форума   Ответить с цитированием
Старый 06.10.2012, 21:31   #17
M_script
 
Регистрация: 06.07.2010
Сообщений: 113
Репутация: 33
По умолчанию

Цитата:
Сообщение от slider
и кидаю его во фрейм, всё равно нарушается видать реферер.. есть ли варианты?
Причина в коде, который выполняется после загрузки страницы ВК
PHP код:
if (parent && parent != window && (browser.msie || browser.opera || browser.mozilla || browser.chrome || browser.safari || browser.iphone)) {
  
document.getElementsByTagName('body')[0].innerHTML '';

Вариантов обхода не знаю.
M_script вне форума   Ответить с цитированием
Старый 06.10.2012, 21:50   #18
slider
 
Аватар для slider
 
Регистрация: 07.07.2010
Сообщений: 15
Репутация: 5
По умолчанию

Цитата:
Сообщение от M_script Посмотреть сообщение
Причина в коде, который выполняется после загрузки страницы ВК
PHP код:
if (parent && parent != window && (browser.msie || browser.opera || browser.mozilla || browser.chrome || browser.safari || browser.iphone)) {
  
document.getElementsByTagName('body')[0].innerHTML '';

Вариантов обхода не знаю.
Стало быть вопрос лежит так - "можно ли \ как отключить javascript во фрейме".
LeverOne-а бы мнение услышать, в своё время он очень помог мне с задачкой с фреймами и изменние их содержимого.
__________________
У меня на ужин был старый приятель. Я съел его печень под гарнир с бобами и бокалом кьянти
slider вне форума   Ответить с цитированием
Старый 07.10.2012, 04:08   #19
Aels
 
Аватар для Aels
 
Регистрация: 24.12.2010
Сообщений: 16
Репутация: 2
По умолчанию

Корни баги растут из 3х обстоятельств.
1) Origin для data:содержимого дается не пустой (как в хроме), а породившего домена.
2) data:урлы разрешены в заголовках Location и Refresh.
3) Видимо хитрая оптимизация загрузки, когда при перезагрузке страницы из запросов выбрасывается _вся_ цепочка location-редиректов. Например рисунок, вставленный на страницу, по адресу которого отдается location: http://site.com<...>, после F5 будет сразу запрошен с site.com, при условии что в первый раз site.com ответил "200 OK". (еще необходимо разрешенное кеширование, кажется). Как-то так.

На origin data-урлов внимание обращалось неоднократно, последний раз кажется месяц назад, упоминал .mario (@0x6D6172696F http://html5sec.org/).
Так и не нашел в спецификациях явного указания, к какому домену относить такие урлы, так что выбор остается на вкус разработчиков конкретных движков.

В приватах оно действительно некоторое время было известно.

Цитата:
Сообщение от slider Посмотреть сообщение
Стало быть вопрос лежит так - "можно ли \ как отключить javascript во фрейме".
LeverOne-а бы мнение услышать, в своё время он очень помог мне с задачкой с фреймами и изменние их содержимого.
нужно прочесть:
http://www.w3.org/TR/2010/WD-html5-20100624/the-iframe-element.html#attr-iframe-sandbox
http://www.w3.org/TR/html-markup/datatypes.html#common.data.sandbox-allow-list
Цитата:
sandbox HTML5 only
If specified as an empty string, this attribute enables extra restrictions on the content that can appear in the inline frame. The value of the attribute can be a space-separated list of tokens that lift particular restrictions. Valid tokens are:
allow-same-origin: Allows the content to be treated as being from its normal origin. If this keyword is not used, the embedded content is treated as being from a unique origin.
allow-top-navigation: Allows the embedded browsing context to navigate (load) content to the top-level browsing context. If this keyword is not used, this operation is not allowed.
allow-forms: Allows the embedded browsing context to submit forms. If this keyword is not used, this operation is not allowed.
allow-scripts: Allows the embedded browsing context to run scripts (but not create pop-up windows). If this keyword is not used, this operation is not allowed.
но это все равно не поможет, потому что совсем недавно главная отдавалась с x-frame-заголовком (сейчас он куда-то делся 0_о )
поэтому смотри в сторону m.vk.com, а лучше в другие сайты.

зы.
Цитата:
Сообщение от M_script Посмотреть сообщение
Aels, sandbox не поддерживается оперой
этот момент я упустил( правда твоя.

Последний раз редактировалось Aels; 07.10.2012 в 05:42..
Aels вне форума   Ответить с цитированием
Старый 07.10.2012, 04:54   #20
M_script
 
Регистрация: 06.07.2010
Сообщений: 113
Репутация: 33
По умолчанию

Aels, sandbox не поддерживается оперой, а на m.vk.com защита от фреймов аналогичная.
M_script вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot