Началось все довольно банально. Один пользователь, имя которого имеет значения, как-то поведал о том, что его приятель занимался тем, что предлагал в icq электронные адреса с mail.ru за определенную сумму. Когда его все уговаривали сделать небольшой намек на способ, с помощью которого он это сделал, он молчал, а вскоре пропал вовсе из вида. Через пару лет об этой услуге было сказано на форуме carderplanet.cc, поэтому многие посетили этого ресурса, кто имел ящике на mail.ru начали проявлять беспокойство, а также все решили ужесточить детский контроль. Герой нашего рассказа, имя которого значения не имеет, был одним из них. Но запретный плод, как говорится, сладок. Он и сам захотел взломать чей-то e-mail, для чего начал изучать сервер. Он был спокоен, ведь на форуме не говорилось о взломе MySql или всей базе. Получалось, что все дело в скриптах.
Обычные пользователи пугаются расширений exe и dll, но, судя по всему, это нормально, так как зависит от настроек сервера. Если же сознательно ввести неправильную инфу для восстановления пароля, то получалось следующее: “Cannot open file '/webmail/netauth/profiles/e-mail_ru/u_kh/notexist@e-mail_ru/notexist.dat' {No such file or directory}” Это означает, что скрипт говорит, что файл просто не найден, ведь известно, что аккаунта не существует. Это помогло бы нам, если бы имелась файловая система, но ведь ее не было. Тем не менее, наш герой смог найти скрипт, принимающий имя файла, в одном из параметров. Но ему не удалось зацепиться за эту возможность – система не отображала ни строки из того файла, что он пытался ввести. Казалось бы, наш бедолага совсем отчаялся, но вдруг вспомнил о cmd скрипте, который нужен при восстановлении пароля. Он решил, что если по логике cmd принимает
“passwd4”, то может принимать и “passwd1”, и “passwd2”, и “passwd3”. Оказалось, что так оно и есть!
Все проще простого. “passwd4” – восстановление пароля, а “passwd1” его замена! Интересно, что при параметре “passwd1” даже не нужно указывать старый пароль. Например, строчка: http://www.e-mail.ru/scripts/netauth.exe?cmd=passwd1&name=ncroot&vhost=www.e-mail.ru&pass=ncroot&repass=ncroot ставит пароль “ncroot” на для электронного ящика ncroot@e-mail.ru . Name означает логин, vhost означает домен, pass означает пароль, а repass его подтверждение. Названия у двух последних параметров наш герой нашел, когда изучал настройки специально для этой цели созданного аккаунта. Кстати, если вы вздумаете сменить по этой схеме пароль у собственного ящика, то надо использовать скрипт не netauth.exe, а netauth.dll. Выходит, что все дело в невнимательности тех, кто писал программу.
Ну вот, все сделано, осталось только зайти, используя новые данные и просмотреть почту в обычном режиме. Эта дыра позволяет проникать и в ящики других доменов. К сожалению, защититься в такой ситуации довольно сложно – помочь могут лишь очень хорошие кодеры. Но, этот материал вовсе не призывает заниматься подобным взломом. Его цель показать, насколько уязвима работа почтовых систем. Проникать же в чужие почтовые ящики в корыстных целях запрещено законом. А разработчикам хотелось бы пожелать серьезнее работать над проектами, ведь при данном методе взлома применен лишь веб-браузер, а пострадать от этого могут миллионы пользователей сети.