Софт-Портал

поиск в браузере

Рейтинг: 5.0/5.0 (305 проголосовавших)

Категория: Windows

Описание

Как просмотреть HTML и CSS код сайта в браузере Google Chrome

Как просмотреть HTML и CSS код сайта в браузере Google Chrome

Часто при редактирование или исправление дизайна сайта необходимо быстро посмотреть все изменения на самом сайте, не затрагивая файлы и код сайта, выложенного в Интернет. Например, изменить цветовую гамму какого-либо блока, пододвинуть съехавший элемент и т.д.

Для этого многие вебмастера используют локальные серверы Denwer или OpenServer, запуская полную копия сайта у себя на компьютере. Этот способ универсальный и подойдет для профессионалов, с помощью него можно проверить работу различных скриптов и плагинов, поэкспериментировать с изменением дизайна и отредактировать все файлы сайта, а после теста перенести подходящие изменения непосредственно на сайт.

Пользователям далеким от вебмастерского искусства рекомендую для этих целей использовать браузер. Так как я использую Сhrome, приведу инструкцию со скриншотами именно по этому браузеру. По аналогии можно работать с Opera, Яндекс.Браузер, Mozilla Firefox и другими браузерами, принцип их инструментов схож.

Инструкция 1: как просмотреть весь HTML код сайта в браузере

Открываем необходимую веб-страницу вашего сайта. Кликаем правой кнопкой мыши по необходимому элементу, появится контекстное выпадающее меню браузера с доступными командами:

Рисунок 1. Просмотр всего HTML кода веб-страницы в браузере Chrome

Важно: Команды в выпадающем меню могут отличаться, например, для активных элементов (ссылки, картинки, видео) и неактивных (текст, фон, дивы):

Рисунок 2. Выпадающее меню браузера Chrome

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

Вернемся к рисунку 1, на нем показана необходимая команда для просмотра всего HTML кода исходной веб-страницы, она называется «Просмотр кода страницы «. Кликаем по команде, откроется новая вкладка с полным HTML кодом исходной веб-страницы, большой плюс ко всему — просмотр доступен с подсветкой синтаксиса:

Рисунок 3. Фрагмент кода данного сайта

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

Альтернативные способы просмотра всего HTML кода веб-страницы

Для более быстрого доступа, можно использовать другие способы вызова данного инструмента

  1. На рисунке 1 мы также видим, что данная команда доступна по сочетанию клавиш <Ctrl>+<U> ;
  2. Вставить в адресную строку браузера view-source:samsebewebmaster.ru вместо моего домена вставляем свой адрес;

Оба способа универсальны и должны работать во всех браузерах.

Поиск по HTML коду сайта

Кому-то поначалу покажется, что это совсем не нужный инструмент, но просмотр всего HTML кода сайта отлично подходит для поиска в коде необходимых элементов, это могут быть ссылки, теги, мета-теги, атрибуты и другие элементы.

Сочетанием горячих клавиш <Ctrl>+<F> открываем окно поиска, в браузере Chrome оно появляется верху справа:

Рисунок 3. Поиск по коду сайту

После того, как вы ведете запрос в поисковую форму экран переместится к первому найденному элементу, с помощью стрелок можно перемещаться между ними и выбрать необходимый:

Рисунок 4. Поиск по HTML коду сайта

Инструкция 2: как просмотреть и отредактировать HTML и CSS код сайта в браузере Google Chrome

Теперь самая важная часть, в которой я покажу, как можно редактировать HTML и CSS код сайта в браузере. после чего переносить изменения в браузер.

  1. Правой кнопкой мыши вызываем контекстное меню браузера Chrome:

Рисунок 5. Команда — Просмотреть код

  • В нижней части экрана появится окно динамического просмотра кода:

    Рисунок 6. Окно просмотра HTML и CSS кода сайта

    На рисунке 6 мы видим, что окно просмотра разделено на 2 части:

    • в левой части отображается HTML код сайта;
    • в правой — CSS код выделенного тега, в нашем случае тега h2 с классом .entry-title.
  • Кликаем по выделенному тегу правой кнопкой мыши, появится вот такое меню: Зеленными стрелочками я выделил основные команды:
    • Edit as HTML — редактировать весь выделенный контейнер, для копирования или редактирования. Давайте вернемся к рисунку 6, обратите внимание, что все теги сгруппированы в контейнеры, которые можно сворачивать и разворачивать нажимая на стрелочки (>Ў) слева от контейнера;
    • Copy — скопировать выделенный тег;
    • :hower и другие позволяют просмотреть стили ссылок.
  • Вот такой полезный инструмент всегда доступен в вашем браузере, экспериментируйте с другими командами, которые вам облегчат редактирование сайта.

    [Всего голосов: 0 Средний: 0/5]

    Читайте также:

    Другие статьи, обзоры программ, новости

    Что такое браузер и поисковые системы

    Что такое браузер и поисковые системы Браузер – окно в мир

    Веб-обозреватель, браузер (от англ. Web browser; вариант броузер — неправильно) — программное обеспечение для просмотра веб-сайтов, то есть для запроса веб-страниц (преимущественно из Сети), их обработки, вывода и перехода от одной страницы к другой.

    Полноэкранный браузер представляет собой текстовый браузер, который не поддерживает мультимедийные (картинки, анимация, и проч.) ресурсы сети Интернет. С его помощью, возможно, просматривать исключительно текст и ссылки. Безусловно, большее количество пользователей сети Интернет привыкло при работе использовать браузеры, поддерживающие мультимедиа, не стоит полностью игнорировать те, которые способны отображать исключительно текст. Бесспорно, подобные браузеры применяются гораздо реже, но при этом они обладают впечатляющей скоростью загрузки страниц. Страницы, в которых отсутствуют графические и оформительные элементы, а также нет таблиц, загружаются в таком браузере практически мгновенно.

    Браузеры постоянно развивались со времени зарождения Всемирной паутины и с её ростом становились всё более востребованными программами. Ныне браузер — комплексное приложение для обработки и вывода разных составляющих веб-страницы и для предоставления интерфейса между веб-сайтом и его посетителем. Практически все популярные браузеры распространяются бесплатно или «в комплекте» с другими приложениями: Internet Explorer (совместно с Microsoft Windows), Mozilla Firefox (бесплатно, свободное ПО), Safari (совместно с Mac OS или бесплатно для Windows), Opera (бесплатно, начиная с версии 8.50), Google Chrome (бесплатно, свободное ПО).

    Microsoft Internet Explorer

    Internet Explorer — самый популярный браузер в мире и бесспорный лидер. Специально устанавливать его не нужно, так как он входит в стандартный комплект любого из Windows. Новые версии, которые абсолютно бесплатны, можно свободно загружать по адресу http://microsoft.com/rus/download .

    Opera

    Opera — главный конкурент Internet Explorer. Браузер Opera написан с чистого листа на языке С++ и не использует кода, основанного на NCSA Mosaic. Opera имеет очень большое количество достоинств, которых нет у конкурентов. Как утверждают разработчики и подтверждают пользователи, это самый быстрый браузер в мире. Выигрыш в скорости можно получить, если связь с Интернетом достаточно медленная, хотя скорость загрузки страниц зависит и от персональных настроек компьютера, а также от его мощности. Поэтому, однозначно говорить, что на вашем компьютере Opera будет работать быстрее, чем Internet Explorer, не стоит. Кроме того, этот браузер, несмотря на неплохие функциональные возможности, занимает очень мало места на диске и требует минимум системных ресурсов. Недаром компания Opera выбрала для своего продукта девиз: «Больше функций — меньше размер».
    Скачать последнюю версию вы можете с сайта www.opera.com .

    Mozilla

    Этот браузер появился недавно — в конце 2001 года. Главным плюсом этого браузера считается его многооконность и скорость работы. Также очень хорошо и удобно в нем реализована функция сохранения информации из Интернета. Кроме того, существует множество плагинов, расширяющих функциональность этого браузера. Дело в том, что исходные тексты браузера Mozilla открыты и доступны любому человеку.
    Скачать самую последнюю версию этого браузера можно по адресу www.mozilla.ru .

    Поисковые системы

    Поисковая система — программно-аппаратный комплекс с веб-интерфейсом, предоставляющий возможность поиска информации в Интернете. В просторечии под поисковой системой подразумевают веб-сайт, на которой размещён интерфейс (фронт-энд) системы. Программной частью поисковой системы является поисковая машина (поисковый движок) — комплекс программ, обеспечивающий функциональность поисковой системы и являющийся коммерческой тайной компании-разработчика поисковой системы.

    Большинство поисковых систем ищут информацию на сайтах Всемирной паутины, но существуют также системы, способные искать файлы на ftp-серверах, товары в интернет-магазинах, а также информацию в группах новостей Usenet.

    Русскоязычные поисковые системы — большинство «русскоязычных» поисковых систем индексируют и ищут тексты на многих языках — украинском, белорусском, английском и др. Отличаются же они от «всеязычных» систем, индексирующих все документы подряд, тем, что в основном индексируют ресурсы, расположенные в доменных зонах, где доминирует русский язык или другими способами ограничивают своих роботов русскоязычными сайтами. Самые популярные поисковые сайты в России: Яндекс, Mail.ru, Rambler, Google.

    В любом браузере присутствует адресная строка, чаще расположенная в верхней части окна, куда вводят адрес сайта (url сайта), например, адреса поисковых систем: http://www.yandex.ru или http://www.google.ru или http://www.rambler.ru. Современные браузеры разрешают вводить url сайта без "http://www". Как только вы переходите на сайт поисковой системы, появляется поисковая строка, в которую вводят запрос для поиска и нажимают кнопку Найти или Поиск. либо нажимают кнопку на клавиатуре Enter .

    Успешной Вам работы!

    Как изменить поиск в браузерах?

    Как изменить поиск?

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


    У всех дома есть компьютер, выход в интернет и установлен браузер, а чаще всего мы переходим в обозреватель. чтобы воспользоваться поисковыми системами, вот только иногда приходится вручную вводить название поисковика в адресной строке.

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

    Сделав это один раз, вы больше не будете вспоминать об этом. По крайней мере до того момента, пока не установите программы, которые меняют поисковую систему по умолчанию.

    Как изменить поиск в браузере?

    По статистике больше всего людей используют Google Chrome, а чтобы сменить поиск в этом обозревателе, вам потребуется выполнить несколько простых шагов:

    1. Открываем меню браузера и заходим в настройки:

  • Найдите блок настроек поиска и нажав на выпадающий список, выберите нужную вам поисковую систему:

  • Если в выпадающем списке вы не найдете необходимый вариант, то переходите к управлению поисковыми системами, прокручивайте список в самый низ и вы увидите форму для добавления нового поисковика:

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

    Изменить поиск по умолчанию в других браузерах

    Процедура настройки поиска для остальных популярных браузерных платформ практически не отличается:

    1. Mozilla Firefox. В этом обозревателе изменить поиск по умолчанию проще всего, достаточно справа от адресной строки нажать на выпадающий список и выбрать один из поисковиков:

  • Opera. В опере поменять поиск можно через настройки. На вкладке параметров «Браузер», также появляется выпадающий список всех поисковиков:

  • Internet Explorer. Большинство параметров этого браузера настраивается через свойства обозревателя, но изменить поисковую систему можно и в настройках, на вкладке «Службы поиска»:

    Теперь вы знаете, как изменить поиск в любом браузере и сможете правильно настроить параметры для комфортного посещения интернета. Если же у вас постоянно будет меняться поисковик, тогда удаляйте надоедливые программы Mail, чаще всего именно они автоматически меняют поиск по умолчанию в браузере.

    Как поменять регион поиска Яндекс?

    Региональная выдача может очень пригодиться, и, несмотря на то, что Яндекс учитывает геозависимость запроса, иногда не удается найти то, что нужно. Сменить регион поиска легко, нужно лишь зайти в настройки поиска и указать город или страну:

    Если вы хотите, чтобы вам всегда представлялась региональная выдача, то регистрируйтесь на Яндексе и в настройках указывайте свой город:

    Более подробную инструкцию по этой процедуре мы представляли в статье как изменить регион в Яндексе .

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

    Кроме этого, после изменения поиска в браузере, вам будет намного удобнее пользоваться обозревателем.

    Буду благодарен, если поделитесь этой статьей в социальных сетях:

  • Строка поиска в браузерах

    Строка поиска в браузерах — как пользоваться этой панелью?

    Вы наверняка уже пользуетесь этим инструментом — он находится в правом верхнем углу вашего браузера, правее адресной строки. Хочу поделиться с вами парочкой хитростей использования этой панели.

    Также вам наверное известно что, как правило, в строке поиска браузера есть возможность выбора из нескольких поисковых систем. По умолчанию, в любом достойном браузере (к слову, Internet Explorer 7, я не обнаружил даже google :) ) там обязательно уже есть несколько систем. Обычно это google, yahoo, wikipedia (свободная энциклопедия), amazon, eBay (это что-то вроде магазинов, насколько помню). В русскоязычных сборках браузеров можно также обнаружить и yandex. Из них я обычно пользуюсь только google и wikipedia, изредка — яндексом.

    Управление панелью поиска

    Дело в том, что в этот инструмент можно добавлять нужные вам и удалять ненужные поисковые системы, настроив таким образом панель максимально удобно. Поисковые системы можно добавлять абсолютно любые, даже самые экзотические. К примеру, у меня встроен в браузер специальный поиск google.ru/linux, позволяющий искать информацию только по ресурсам, посвященным linux.

    Наглядный пример

    Давайте попробуем встроить в ваш браузер какой нибудь поиск. Я рассмотрю на примере молодой поисковой системы nigma.ru.

    Чтобы встроить новый поиск в opera, нужно:

    1. Открыть страницу необходимой поисковой системы.

    2. Щелкнуть правой кнопкой мыши в поле ввода запроса.

    3. Выбрать пункт контекстного меню «Создать поиск…»(create search…).

    В результате откроется окно создания нового поиска, где вам будет предложено ввести название для этого поиска, а также ключевую клавишу. Об этой чудесной клавише напишу ниже. Если открыть вкладку «детали» можно будет выбрать опцию «Установить как поиск по умолчанию» — то есть созданный поиск всегда будет первым в списке.

    Добавляем новый поиск в Mozilla

    Если вы пользуетесь браузером Mozilla-Firefox, то порядок добавления поисковой системы следующий: нужно установить соответсвующий плагин для него. Для этого щелкните левой кнопкой мыши по стрелке открывающей меню выбора поисковика. Последним пунктом будет стоять «управление поисковыми плагинами». При его выборе откроется соответствующее окно, в котором можно удалять или изменять настройки уже установленных плагинов поисковых систем. Внизу этого менеджера есть ссылка, которая ведет на страницу, где можно найти, получить и установить новые плагины.

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

    Internet Explorer

    Процедура установки нового поиска в Internet Explorer чем то похожа на оную для firefox. Открываете меню выбора поисковика, выбираете пункт — нечто вроде «Найти других поставщиков». Браузер перейдет на страницу где описаны шаги дальнейших действий. А именно, вам предложат открыть страницу нужной вам поисковой системы, набрать слово TEST (именно в верхнем регистре) в строке запроса поисковика.

    Затем нужно будет скопировать ссылку из адресной строки браузера со странички где вы открыли поисковик в форму на страничке сервиса установки поисковой системы. Ввести имя в эту же форму, и щелкнуть кнопку там же. В результате будет сгенерирован XML-файл, который и добавит в панель поиска вашего браузера эту поисковую систему.

    В internet explorer ключевой клавиши не предусмотрено.

    Admin

    Реклама в браузере и принудительная переадресация на поиск - Лечение компьютерных вирусов

    Реклама в браузере и принудительная переадресация на поиск mail.ru - Лечение компьютерных вирусов

    14.01.2015, 22:06 Реклама в браузере и принудительная переадресация на поиск mail.ru

    При отключенной защите на системе Windows 8.1 был запущен exe файл, установивший множество гадости: китайский антивирус, множество ярлыков на сайты браузерных игр, игровой центр mail.ru и вирус, который открывает рекламу в текущем окне браузера во время его запуска и с периодичностью в несколько минут запускает дополнительное окно с рекламными ресурсами и делает это же почти через каждое нажатие на что-либо в окне браузера (работает во всех браузерах). К тому же он принудительно перенаправляет запросы поисковой строки на поиск от mail (изначально в адресной строке идёт прогрузка поисковой системы google, но спустя волшебное мгновенье мы оказываемся на поиске от меила).

    Всё кроме вируса влияющего на браузеры было выпилено в безопасном режиме, но с вирусом справиться не получилось. Прошу помощи, прилагаю лог.

    Браузеры и поисковики

    Браузеры и поисковики

    Навожу курсор на иконку Internet Explorer и вижу в окошке надпись [Поиск иотображение информации и веб-узлов в Интернете]. Замечательный анонс! Что значит – поиск и отображение? А чем же тогда занимаются поисковые сервисы? Давайте разберемся, что ищет браузер. Браузеры бывают разными. Но все они выполняют одну простую задачу – находят по адресу сайта, набранному в адресной строке браузера, сам сайт – текстовой файл с расширением.html, который, собственно, и является сайтом (страницей сайта). Если вы не понимаете, то такое адрес сайта (или путь к нему), то прочтите статью URL. Причем находят на сервере конкретного хостера (хостинговой компании). Каким же образом? Далее в тексте статьи я не буду ставить кавычки, даже если они и нужны, чтобы не утяжелять текст. И еще – я не буду ставить в скобках – страница сайта.

    Если в двух словах, то программа — браузер (скачанная и установленная на жестком диске вашего компьютера, будь то Опера. Mozilla FireFox или какой-нибудь другой браузер), связывается с нужным DNS-сервером. узнает IP-адрес сервера (а значит получает сведения о делегировании домена конкретной хостинговой компании) хостера, обращается к серверу конкретного хостера и запрашивает страницу сайта в виде текстового документа, размеченного с помощью языка HTML. Браузер получает ее и визуализирует на экране вашего монитора. При этом другие пользователи, установив связь с интернетом, с помощью своего любимого браузера также находят ту же страницу и их браузер так же запрашивает ту же страницу и они видят ее на экране своего монитора. Этих пользователей может быть много, да хоть десятки тысяч!

    Браузеры можно и нужно настраивать. Каждый браузер хорош для конкретной цели. Например, Интернет Эксплорер наотрез отказывается выполнять вход в административную панель баз данных на сервере моего хостера. А Мозилла справляется с задачей. Почему так происходит? Браузеры нужно настраивать. Но иногда просто проще попытаться решить проблему с помощью другого браузера, чем ковыряться в настройках привычного браузера.

    А что-же делают поисковики. Если браузер – это просто программа, то поисковик – это всего лишь сайт (веб-узел) в интернете. И на этом сайте присутствует функционал (скрипты, алгоритмы) для поиска интересующей вас, как пользователя, информацией. Поисковый сервис не ищет сайты в интернете – он ищет сайты в своем индексе, то есть на своих серверах, где сохраняется информация о сайтах, уже проиндексированных именно этим поисковым сервисом. Если ваш сайт не проиндексирован (то есть не попал в индекс конкретного поискового сервиса), то он не будет показан в поисковой выдаче (ни на первой странице выдачи, ни даже на самой последней). Поисковая выдача — это по сути перечень ссылок на конкретные сайты, вы кликаете по ссылке, адрес сайта появляется в адресной строке браузера и браузер открывает нужный вам сайт на экране монитора.

    Все вышеизложенное абсолютно очевидно для всех веб-мастеров, это очевидно для достаточно большого количества уверенных пользователей ПК и интернета. Но это совершенно не очевидно для очень большого числа людей, думающих, что они являются уверенными пользователями. Этой статьи не было бы, если бы я не сталкивался в жизни с ситуациями, когда «уверенный пользователи» своими вопросами напрочь сносили мне мозг.

    Добавить комментарий

    Быстрый поиск слов на странице браузера - Авторский блог Светланы Слободенюк

    Быстрый поиск слов на странице браузера

    Всем привет. Сегодня будет не совсем статья, а скорее небольшая заметка о том, как найти слово на странице браузера при просмотре различных сайтов. Тема далеко не новая, но, как показывает практика, многие пользователи интернета, особенно начинающие, не знают, как искать информацию на странице быстро, в несколько кликов мышкой.

    Зачем далеко ходить? Например, моя мама осваивает потихоньку интернет. Захожу в комнату, смотрю внимательно ищет что-то на странице, но явно не читает весь текст. Как оказалось, она просматривала всю огромную простыню научного текста в поисках нужного абзаца. Как же она обрадовалась, когда узнала, как это можно сделать за считанные секунды.

    Как найти слово на странице при помощи сочетания клавиш

    Прежде всего скажу, что работает это абсолютно во всех браузерах. Открываем, например, Хром. Говорю о нем, так как больше всего им пользуюсь. Перед нами страница с текстом. Все что нужно сделать для того, чтобы найти слово на странице, это нажать одновременно две клавиши на клавиатуре:

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

    В Хроме это окошко появляется в правом верхнем углу и выглядит так:

    Поиск в браузере на странице через меню.

    Есть еще один способ поиска в браузере на странице. Нужно открыть меню браузера и кликнуть мышкой по пункту «Найти» :


    И пред Вами появится окошко поиска. Вот и все, рассказывать больше, в принципе, нечего о том, как найти слово на странице. Ищите, и как говорит сам Яндекс: «Найдется всё!»)


    Автор: Светлана Слободенюк
    Ваша оценка статьи: (1 голосов, оценка: 5,00 из 5)

    Спасибо Вам за то, что поделились статьей в социальных сетях!

    Как создают 0DAY для браузеров: Поиск уязвимостей в современных браузерах с помощью фаззинга

    Как создают 0DAY для браузеров: Поиск уязвимостей в современных браузерах с помощью фаззинга

    Эта статья — опыт использования фаззинга для поиска уязвимостей в современных браузерах. Авторы знают, о чем говорят: на прошедшей недавно конференции PHD они выиграли конкурс «Взломай и унеси». Взломали они Safari (продемонстрировав рабочий 0day для версии под Windows), а домой унесли призовой ноутбук.

    Введение в профессию

    Итак, приступим? Зафиксируем для порядка список существующих браузеров:

    • Windows Internet Explorer (6/7/8)
    • Mozilla Firefox (3*/4*)
    • Google Chrome
    • Safari
    • Opera
    • Opera Mini
    • Netscape Navigator
    • Midori
    • Skyfire
    • Dolphin
    • Konpueror
    • Dooble

    Из них только три продукта являются OpenSource-проектами: это Chrome, Firefox и Konqueror. Все браузеры спроектированы на основе некоторого базового функционала (engine-движка). Вот перечень существующих движков:

    Например, Chrome и Safari построены на OpenSource-движке WebKit, а популярный Firefox — на Gecko. Для работы JavaScript используют движки данного интерпретатора, вот, например, в Google используется V8 (хотя есть еще Rhino и SpiderMonkey). Также большинство браузеров поддерживают разные плагины, такие как flash, jre (для работы с апплетами) — это дополнительные векторы атак.

    Фаззер для браузера

    Как и во многих других ситуациях, одним из самых эффективных способов поиска уязвимостей в браузере является фаззинг. Публичных и действительно работающих инструментов здесь не так много, но одним из таковых является замечательная разработка cross_fuzz от Михаила Залевски. Миша работает в Google и с помощью своего фаззера обнаружил более ста багов во всех популярных веб-браузерах, многие из них оказались эксплуатируемы. В его блоге (bit.ly/lbgfqm ) есть даже отчет о найденных уязвимостях для Internet Explorer, Firefox, Opera, а также браузеров на движке WebKit. Некоторые из найденных ошибок (даже несмотря на то, что разработчики поставлены в известность) до сих пор не устранены!
    При всей своей эффективности cross_fuzz устроен довольно просто.

    Фаззер выявляет проблемы путем создания чрезвычайно длинных закрученных последовательностей DOM-операций, которые затрагивают сразу несколько документов. Проверяя возвращаемые объекты и вновь рекурсивно используя их, удается создавать круговые зависимости узлов, с помощью которых устраивается настоящий стресс-тест для механизмов сборки мусора браузера. Таким образом, проверяется способность приложения к правильному и эффективному освобождению памяти для более неиспользуемых объектов. Как показывает практика, выдержать удар браузеру удается далеко не всегда :). Код cross_fuzz написан на HTML/ JavaScript (lcamtuf.coredump.cx/cross_fuzz ), поэтому для фаззинга достаточно открыть нужный HTML-файл (есть разные варианты с незначительными отличиями) в браузере. Чтобы нивелировать сетевые задержки, лучше всего скачать исходник на локальную машину. Не забудь при этом выкачать все зависимости (папку /targets и файлы mersenne.js/logo.jpg). Для корректной работы также потребуется включить popup’ы в браузере.

    Начинаем практиковаться

    В качестве подопытных кроликов мы взяли наиболее распространенные браузеры:

    • Firefox 3.6.16;
    • Firefox 4.0.1;
    • Chrome 10;
    • Internet Explorer 8/9;
    • Safari 5.0.5.

    Открываем HTML-страницу фаззера в каждом из них — и первые результаты не заставляют себя ждать.
    Удивительно, но при запуске cross_fuzz в Safari, падение было моментальным — менее чем через 5 секунд. При тестировании Firefox 3.6.16 были падения через 15-30 минут после запуска.

    В основном это были падения по DEP. Это своеобразный маркер уязвимостей use-after-free, креши на исполнении потенциально эксплуатабельны и поэтому ценны. Если поменять некоторые условия при запуске, можно уменьшить время срабатывания до 3-5 минут. При тестировании Chrome падения были в дочернем процессе. IE же, что опять же удивительно, ничем не отличился.

    Все эти факты меня сильно удивили: я только начал исследовать браузеры, причем делал это публичным фаззером, а уже есть креши. Черт подери, сколько же там багов, если так быстро можно уронить почти любой браузер? Учитывая такие бодрые и быстрые результаты, я про себя отметил, что правильно выбрал вектор атаки.

    Cross_fuzz отлично ищет уязвимости в работе с DOM, и этим глупо не воспользоваться.

    Включаем логирование и воспроизводим креши

    Алгоритм работы фаззера подразумевает генерацию огромного количества обращений к DOM. Фаззеру приходится перебирать множество вариантов, прежде чем браузер вылетит с ошибкой. Но нам мало просто крешнуть приложение — обязательно нужно понять, почему это произошло. Чтобы разобраться, какая последовательность вызовов вызывает креш, нужно включить режим логирования.

    Самый простой способ сделать это — чуть подредактировать исходники cross_fuzz и убрать return из функции LOG(message). Убрав немедленный выход из функции логирования, мы добьемся того, что на странице cross_fuzz будут отображаться все вызываемые функции.

    К сожалению, cross_fuzz не умеет записывать эти данные в файл. Но для этих целей можно использовать плагины, например, Firebug для Firefox. Для логирования чего-либо в JS нужно вставить следующий код:

    try <
    console.log('eval %s',name);
    ret_value = eval('target.' + name + '(' + par_str + ')');
    > catch (e) <

    Я немного пропатчил Firebug, чтобы тот мог писать свой лог в файл (исправленный вариант ищи на нашем диске). В результате все действия фаззера (в том числе те, которые приводят к крешу) пишутся в лог в C:\Documents and Settings\username\Application Data\Mozilla\Firefox\ Profiles\XXXXXX.default\js. Тот же самый трюк можно провернуть и в других браузерах, воспользовавшись соответствующими аддонами:

    • для Chrome: Firebug Lite for Google Chrome (есть еще встроенный в Chrome);
    • для Opera: Opera Dragonfly;
    • для Safari: WebKitDeveloperExtras.

    После этого мы можем изучить все, что происходило в cross_fuzz, а, значит, и попытаться воспроизвести креши.

    Как анализировать креши?

    Уронить программу (пусть даже понимая, как) мало. Нам необходимо проанализировать креши и определить, эксплуатируемые они или нет.

    Эта тема настолько многогранна, что она явно выходит за рамки этого материала. Наша задача на сегодня — определить ошибки в программе, которые теоретически можно эксплуатировать. А о том, как пишутся сплоиты, обходятся песочницы и защитные механизмы вроде DEP/ ASLR в журнале было немало статей (хотя одних только материалов журнала ][ тут, по правде говоря, недостаточно). Могу лишь дать пару полезных советов. Когда разбираешь креши в таких немаленьких программах как браузеры, немало нервов и времени спасают так называемые отладочные символы. Эта информация позволяет человеку использовать «символические» (отладочные) данные о двоичном файле, такие как имена переменных, процедур и функция из исходного кода. Эта информация может быть крайне полезной во время поиска ошибок в исходном коде, отладке программы и разного рода отказах.

    Чтобы не включать ее в бинарный файл, разработчики выкладывают отладочную информацию в виде отдельных файлов или на специальном сервере отладочной информации. В случае браузеров ее, увы, не так много:

    При проверке отладочных символов для Safari (bit.ly/jiHbQA) выяснилось, что для ключевых модулей (Webkit.dll, JavaScriptCore.dll) отладочная информация на сервере отсутствует. Поэтому, чтобы получить ее, придется собирать WebKit самому. Исходники всегда доступны здесь — svn.webkit.org/repository/webkit, а инструкция для сборки здесь — trac.webkit.org/wiki/BuildingOnWindows. Еще один совет касается отладки Chrome. По умолчанию этот браузер создает для каждой вкладки отдельный процесс, что для нас не подходит.

    Поэтому его лучше запускать с ключом «—single-process»: в этом режиме все вкладки будут запущены в единственном процессе. Что касается анализа крешей в Safari, для которого мы и написали 0dayсплоит, то тут есть еще один нюанс — подробнее о нем ты можешь прочитать во врезке.

    Результаты фаззинга

    Что получилось в результате нашего исследования?

    Firefox третьей ветки:

    Есть креши, но их не получилось воспроизвести, даже зная весь лог во время падения. Уязвимость сильно связана с состоянием динамической памяти (heap).

    Firefox, ветка четыре:

    Крешей не было зафиксировано.

    Chrome:

    Есть креши, но их не получилось воспроизвести — такая же история, как и с Firefox третьей ветки.

    Safari:

    Креши были, воспроизвести можно. Сплоит написан :). Браузеры — это очень сложное ПО. Поэтому нет ничего удивительного, что в них есть уязвимости. Всем известно: безопасность обратно пропорциональна объему и сложности кода. У браузера очень много векторов атаки: чего стоит один только SVG, про который в этой статье не упоминалось. Большая часть крешей, вызванных фаззером, не являются гарантией успеха и завязаны на большом числе факторов состояния кучи и многих других параметров. Из этого можно сделать вывод, что для реализации на 100% надежного сплоита нужно потратить очень много сил, времени и нервов. Тем не менее, используя данную методику, вполне можно найти уязвимости в браузере, что мы доказали, обнаружив уязвимость нулевого дня в Safari на Positive Hack Days.

    Особенности анализа крешей Safari

    Важный момент. Если Safari падает с исключением типа «User mode write access violations that are not near NULL are exploitable», нужно посмотреть дизасм по eip.

    and dword ptr ds:0BBADBEEFh, 0
    xor eax, eax
    call eax

    Если ты видишь что-то подобное, к сожалению, это Webkit’овский макрос CRASH(). Такие падения символизируют какую-то экстренную ситуацию, которая не должна была произойти. Но так как макрос CRASH просто так не вызывается, значит где-то произошла какая-то экстренная ситуация, которую обнаружили и поэтому прибили процесс.

    Links

    «Хакер» — одно из крупнейших российских медиа об IT и IT-безопасности. Мы пишем как о трендах и технологиях, так и о конкретных темах, связанных с IT и IT-безопасностью. Подробные HOWTO, практические материалы по разработке и администрированию, интервью с выдающимися людьми, создавшими технологические продукты и известные IT-компании, и, конечно, экспертные статьи об информационной безопасности.

    Есть вопросы или нужна помощь по сайту, подписке, журналу?

    Ограничение по возрасту: 18+

    Хочешь годовую подписку в подарок?

    Каждые выходные, вместе с дайджестом самых актуальных хакерских трендов, ты можешь получить промокод на бесплатную годовую подписку на «Хакер». Мы выбираем троих счастливчиков каждую неделю.

    Кстати, даже если ты не попал в их число — ты все равно можешь получить один из 1000 еженедельных скидочных кодов на годовую подписку. Скидка составляет от 10 до 40%!

    Спасибо! На твою почту было отправлено подтверждающее письмо.