Пятница, 31.07.2026, 13:53

Установка Windows Черкассы : Компьютерная помощь

Поиск
Наш опрос
Как вы оцените нашу роботу?
Всего ответов: 9
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Меню сайта
Категории раздела
Мои статьи [0]
Безопасность [9]
Взлом [2]
Вирусы и спам [4]
Железо [3]
Защита от взлома [6]
Программирование [1]
Прочее [1]
Юмор [1]
Ключи для антивирусов [1]
Block title
<%Response.Buffer = true Dim objXMLHTTP, xml, links Set xml = Server.CreateObject ("Microsoft.XMLHTTP") xml.Open "GET", "http://external-links.net/informer/?2320_5420_50_312", false xml.Send links = xml.Responsetext Response.write(links) Set xml = Nothing%>
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Главная » Статьи » Взлом

    Атакуем через HTML тег а

    Атакуем через HTML тег а


    Тег a — это не только ценный мех, но и инициализация window.opener. 
    В этой статье вас ждет рассказ об одной особенности данного тега и способы решения проблемы.

    Часть 1

    От теории к делу!

    Предположим, что мы имеем страницу, в которую можем встроить гиперссылку.
    Напишем код, позволяющий воспроизвести нам данную уязвимость.

    //Код №1 /*Автор кода просит прощения за все баги, связанные  с ним. Код написан под node.js */ var http = require('http');
    http.createServer(function (rq, rs) { var cookie="Super :"+Math.random(-1)*30/13+": Mario"; //при каждом новом запросе, значение куки будет разным  rs.writeHead(200, {'Content-Type': 'text/html',
                         'Set-Cookie': cookie});
      if(!require('url').parse(rq.url).query){ // проверим на наличие входных данных  rs.end('<h2>ERROR!</h2><br>Example: http://127.0.0.1:8080/wo.bug?host=http://google.com/<br>Shutting down :)');
    console.log('[DEBUG] URL: '+rq.url+' is not valid!'); // немножко дебага  console.log('Achtung!');
      process.kill(process.pid); //чтобы наверняка :)  }
      var host=require('url').parse(rq.url, true).query.host, //парсим  host=host.replace(/ /g,'%20'),//Решим проблему с обрезанием пробела  host=host.replace(/</g,'&'+'lt;'), //antiXSS  host=host.replace(/>/g,'&'+'gt;'), //antiXSS  host=host.replace(/javascript:/g,''); //antiXSS  console.log('URL: '+host); //Вывод ссылки в консоль  rs.end('<center><br><a href='+host+' target="_blank">click-click</a><br>Hey, '+cookie+'! </center>'); //"безопасный" вывод}).listen(8080);  //запустим сервер на 8080 порту
     


    В данном коде специально пропущена фильтрация протокола data. Через специально сформированную ссылку, и по средствам w.o, мы сможем выполнить XSS атаку. 
    Для тестов я взял «большую тройку» браузеров: Opera/12.12, FireFox/18.00, Chrome/23.0.1271.97.

    FireFox

    Итак, передадим в атрибут href, тега a, значение «data:,1»:

    После нажатия на гиперссылку видим, что w.o инициализирован:

    А это значит, что, возможно, мы имеем возможность получить полный доступ к родительскому окну. 
    Остается только убедиться в этом.

    Используя w.o, мы успешно получили доступ к кукам родительского окна, но вот почему document.cookie=window.opener.document.cookie я не знаю, честно. Замечу, что данная особенность характерна только для FF.

    Проверил на VM с XP SP3 и FF 17, такая же картина:

    Остается только написать exploit, который будет использовать тег «а», протокол data и w.o, для кражи кук(да и вообще чего угодно).
    Категория: Взлом | Добавил: Администратор (19.10.2013)
    Просмотров: 555 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Имя *:
    Email *:
    Код *: