ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Баги на Почте.ру
  #1  
Старый 15.09.2006, 12:49
Digimortal
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме:
6144796

Репутация: 1095


Post Баги на Почте.ру

Баги на Почте.ру


[intro]

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

Большинство описанных здесь багов были найдены мною еще несколько месяцев назад, и в службу поддержки этого почтового сервиса я отправлял сообщение об обнаруженных уязвимостях и рекомендациями по их устранению. Некоторое время на главной странице сайта провисело сообщение администрации к пользователям с извенениями о возможных неполадках в работе сервиса. Недавно сообщение это убрали, НО ВСЕ БАГИ ТАК ДО СИХ ПОР И ОСТАЛИСЬ.

Непорядок. А ведь Почта.ру достаточно серьезная почтовая система (ее домены: pochta.ru, fromru.com, front.ru, hotbox.ru, krovatka.net, land,ru, mail15.com, mail333.com, pisem.net, pochtamt.ru, pop3.ru, rbcmail.ru, smtp.ru).

[Итак приступим]

Сразу перечислю ряд уязвимых мест, которые присутствуют в данной системе:
1) возможность захода в систему одновременно с разных ip-аресов;
2) хранение ответа на секретный вопрос в открытом виде без необходимости ввода пароля для его просмотра;
3) и, собственно, отсутствие какой либо фильтрации на входящие данные в ключевых скриптах системы, что дает возможность использовать уязвимости типа passive-xss и sql-inj.

Использование взломщиком этих трех уязвимостей системы может привести к следующим последствиям:
1) угон почтового ящика ;
2) угон случайных почтовых ящиков;
3) дефейс, ведь Почта.ру - это еще и бесплатный хостинг;
4) массдефейсы;
5) атаки типа DoS на БД;
6) несанкционированное получение определенной иформации, например, чтение циркулирующих в системе писем или вытаскивание инфрмации из БД адресной книги;
7) теоретичеки существует возможность более серьезного проникновения на сервер, но я не ставил перед собой такой цели, поэтому ничего об этом сказать не могу.

[xss]

Пассивная xss присутствует в скрипте mailbox.php в параметре mailb. Сначала мне показалось, что эту уязвимость использовать для угона cookie нельзя, так как скрипту передается еще уникальный идентификатор сессии (параметр id), который создается при авторизации в системе. Но потом я нашел аж два способа (способы эти, надо сказать, несколько оригинальные ) обойти это. Один с помощью sql-inj, другой - связан с отсутствием проверки на заход в систему с разных ip.

Надо сказать, что способ угона ящиков через пассивную xss не очень эффективен: во-первых, по умолчанию авторизация через кукисы отключена, а во-вторых большинство пользователей веб-интерфейс не использует, в-третьих, - она ведь пассивка . Со дня на день выйдет журнал ][, где подробно будут описаны мои опыты по угону ящиков на Почте.ру (там будет и видео).

[sql-inj в mailbox.php]

Скуль-иньекции, присутствующие на сайте гораздо круче чем пассивная xss. Вчера вот обнаружил такую тему: http://forum.antichat.ru/thread19714-pochta.ru.html :

Цитата:
Сообщение от Zitt
Короче решил я проверить свою почту ввожу лог\пасс вхожу в свой ящик там есть папки Входящие, Исходящие и др. так вот жамкаю на входящие и меня кидает не на мои письма а на совершенно ДРУГОЕ мыло. (через минуту уже все было как надо) я решил проверить написал на ето мыло письмо и оно пришло
Вобщем в итоге я кактто получил доступ к ящику есесно пасса я не знал еще через 7 минут доступа уже не было.
Вот такая интересная истоория!!
Отпишитесь кто чё думает по етому поводу!!!
Zitt, я знаю в чем дело . Все дело в очень веселой sql-injection уязвимости на этом сайте. Уязвимым оказался сам параметр id - идентификатор сессии. Почему веселой? Просто, если к идентификатору сессии добавить 'or'1 , то оказываешься в чужом ящике и все остальные (ну, я не совсем уверен, что все) юзеры Почты на сервере, для которых в БД лежит id сессии (проще говоря, те кто сидят в этот момент на сайте Почты через браузер), окажутся в этом же ящике. Но это становится уже не совсем чей-то конкретно ящик - там в придачу часто оказывается куча писем, из самого ящика + те что недавно были отправлены/приняты и еще хрен поймешь какие. Все нафиг перемешивается. Это все срабатывает не очень стабильно и очень глючно. Например писем может и не быть. А могут быть, но читаться не будут. Зато можно проделывать с этим ящиком все что угодно: писать с него письма, посмотреть и изменить настройки и т.д. (вероятно, что эти изменения отразятся и на других ящиках, а может и нет - не проверял особо).

В общем, просто перейдя по ссылке
Код:
http://www.pochta.ru/mailbox.php?id=N'or'1
можно посеять маленький хаос в этой почтовой системе .

[sql-inj в contact.php]

Идем дальше. Адресная книга. Когда мы просматриваем какую нибудь запись в ней, то урл выглядит следующим образом:

Код:
http://www.pochta.ru/adb/contact.php?id=[id_сессии]&uid=[id_записи]
Параметр uid - номер записи контакта в БД. Пробуем кавычку, получаем ответ сервера:

Код:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'lalala@front.ru'' at line 1
Если добавить к нему 'or' , то становится возможным изменять этот параметр просмотрев по-отдельности все записи, что имеются в БД. Неплохой источник для создания нехилого спам-листа (параметр uid изменяется от 1 до более чем 50 миллионов, так что мейлов насобирать можно немерено). Я нацарапал (чисто из интересу ) простенький скрипт, с помощью которого можно доставать эти мыльники и насобирал за пару дней небольшой спам-листик, но после решил, что для шеллов можно найти и лучшее применение .

Пробуем использовать union в этом параметре:

Код:
http://www.pochta.ru/adb/contact.php?id=[id_сессии]&uid=[id_записи]'or''+union+select+null/*
В ответ получаем:

Код:
The used SELECT statements have a different number of columns
Я пробовал подобрать количество столбцов, но у меня или не получалось или даже приводило к этакому DoS - при восьми нуллах БД пару раз висла и раздел сайта "Контакты" вообще переставал работать (один раз на несколько часов). После этого я решил прекратить подобные попытки скуль-инъекций. Ну вот в общем-то и все... а, нет, еще не все: я упоминал про возможность массдефейсов.

[massdeface]

Еще когда я писал статью об угоне ящиков меня посещала идея о возможности массдефейсов на сайтах, хостящихся на этом почто-хостинге. Реализовать их можно используя sql-inj в параметре id. Для этого можно написать бота, который будет через определенные промежутки времени заходить на сайт по ссылке

Код:
http://www.pochta.ru/hosting/[id_сессии]'or'1/edit/file/?dir=/&file=index.html
, писать че-нибудь тама и сохранять это. Даже на тех аккаунтах, у которых нету сайта, он появится - сразу с дефейсом .

И еще кое что: можно ведь совмещать xss и sql-inj. Интересно наблюдать как из одной ПАССИВНОЙ xss на снифер приходит штук по 50 записей...

P.S. За все время моих исследований ни один чел не лишился своего мыла, ни один сайт не был задефейсен, и вообще никто не пострадал (про то что "Контакты" не работали - так это я наврал, небыло такого, хе-хе ). Так что и вы, читающие это, не тупите, ок?

P.P.S. Если у тебя ящик на почте и ты предпочитаешь веб-интерфейс Bat'у, то рекомендую пользоваться старым интерфейсом Почты на http://old.pochta.ru.

Последний раз редактировалось Digimortal; 10.11.2006 в 16:29..
 
Ответить с цитированием

  #2  
Старый 15.09.2006, 13:40
[hidden]
Участник форума
Регистрация: 05.11.2005
Сообщений: 103
Провел на форуме:
425441

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

Оч пользительно!
 
Ответить с цитированием

  #3  
Старый 15.09.2006, 13:53
ZikZak
Постоянный
Регистрация: 27.07.2006
Сообщений: 405
Провел на форуме:
1377321

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

За труд можно и + поставить )))
 
Ответить с цитированием

  #4  
Старый 16.09.2006, 19:42
D=P=CH= MOD=
Постоянный
Регистрация: 15.08.2006
Сообщений: 404
Провел на форуме:
3811682

Репутация: 641
Отправить сообщение для D=P=CH= MOD= с помощью ICQ
Post

Небольшое дополнение.

Доступен метод TRACE
Описание

С помощью использования метода TRACE в протоколе HTTP возможно выполнение атаки межсайтовый скриптинг.

Ссылки с параметрами
Описание

Список ссылок найденных на веб-сервере, которые используют какие-либо параметры:

/regform.php?rnd2=1&aid=1&bt_next=1&rnd_img_str=1&b t_next=1

/?sid=5e646f6e1048527134e382fbca69c9cb&lng=en&rnd=3 32745106

/?sid=5e646f6e1048527134e382fbca69c9cb&bt_cancel=on &lng=ru

/rnd_img.php?sid=5e646f6e1048527134e382fbca69c9cb

/help.php?caption_id=9&lng=ru&skin=september

/advertising.php?lng=ru&skin=september

/?caption_id=1&lng=ru&skin=september

/regform.php?lng=ru&skin=september

/support.php?lng=ru&skin=september

/help.php?lng=ru&skin=september

/?lng=en&skin=september

/info.php?mid=agreement

/?mid=agreement&lng=en

/help.php?caption_id=

/?caption_id=&lng=en

/regform.php?lng=en

/forgot.php?lng=en

/?lng=en

Список форм
Описание

Обнаружены формы (POST запрос), использующиеся для передачи данных на сервер. В переменных HIDDEN может храниться специфическая или чувствительная информация. Переменные PASSWORD служат для ввода пароля.

Список форм:

POST /login.php HTTP/1.1
reason=&lng=&rnd=&user=&pass=&domain=&rememb=

POST / HTTP/1.1
lng=&skin=

POST /?lng=en HTTP/1.1
skin=

POST /support.php?lng=ru&skin=september HTTP/1.1
userName=&userEmail=&email=&sendCopy=&subject=&dom ain=

POST /forgot.php HTTP/1.1
lng=&login=&domain=

POST /?sid=5e646f6e1048527134e382fbca69c9cb&lng=en&rnd=3 32745106 HTTP/1.1
skin=

POST /?sid=5e646f6e1048527134e382fbca69c9cb&bt_cancel=on &lng=ru HTTP/1.1
skin=

POST /?caption_id=&lng=en HTTP/1.1
skin=

POST /?mid=agreement&lng=en HTTP/1.1
skin=
 
Ответить с цитированием

  #5  
Старый 17.09.2006, 18:45
sWw
Новичок
Регистрация: 17.09.2006
Сообщений: 3
Провел на форуме:
19272

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

+
спс харошая статья
 
Ответить с цитированием

  #6  
Старый 17.09.2006, 19:02
blackybr
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
Провел на форуме:
8042357

Репутация: 3742


Отправить сообщение для blackybr с помощью ICQ Отправить сообщение для blackybr с помощью AIM Отправить сообщение для blackybr с помощью Yahoo
По умолчанию

D=p=ch= Mod= хпайдер рулит ?)

статья + однозначно
__________________
Привет! Меня зовут Джордж, и я хотел бы рассказать вам про реинкарнацию (ц) 2x2

Последний раз редактировалось blackybr; 17.09.2006 в 19:12..
 
Ответить с цитированием

  #7  
Старый 17.09.2006, 19:19
+toxa+
[Лишённый самовыражени
Регистрация: 16.01.2005
Сообщений: 1,787
Провел на форуме:
9751379

Репутация: 3812


Отправить сообщение для +toxa+ с помощью ICQ Отправить сообщение для +toxa+ с помощью AIM
По умолчанию

ЫКСспайдер тут не поможет))
__________________
 
Ответить с цитированием

  #8  
Старый 17.09.2006, 19:38
.Slip
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме:
21768337

Репутация: 3486


По умолчанию

Статья хорошая. Но автору надо бы сделать получше оформление. Раз начал зелёным цветом выделять, то выделил бы важные места в статье.
__________________
..
 
Ответить с цитированием

  #9  
Старый 17.09.2006, 19:58
Digimortal
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме:
6144796

Репутация: 1095


Smile

Цитата:
Сообщение от [sL1p]  
Статья хорошая. Но автору надо бы сделать получше оформление. Раз начал зелёным цветом выделять, то выделил бы важные места в статье.
Не люблю я "цветные" статьи, по-моему удобно читать так как есть...
 
Ответить с цитированием

  #10  
Старый 17.09.2006, 20:01
.Slip
Leaders of Antichat - Level 4
Регистрация: 16.01.2006
Сообщений: 1,966
Провел на форуме:
21768337

Репутация: 3486


По умолчанию

Я не говорю про цвета цирка шапито, но такие места лучше выделить:
Цитата:
http://www.pochta.ru/hosting/[id_сессии]'or'1/edit/file/?dir=/&file=index.html
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'lalala@front.ru'' at line 1
И т.д.
__________________
..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
О ТЕМЕ Баги на сайтах!!!! Micr0b Болталка 2 27.06.2006 20:17
Баги, баги... Mobile Уязвимости 6 01.03.2006 21:57
Дефейс по быстрому. Баги на сервере. Админ не выставил права на папки lexa Комментарии к видео 2 31.01.2005 08:54



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


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




ANTICHAT.XYZ