Year: 2008

  • Опубликован Browser Security Handbook

    Компания Google в лице известного эксперта по веб-безопасности Michal Zalewski опубликовала 60-страничный документ, описывающий все тонкости современных браузеров с точки зрения их безопасности. Вся информация очень удобно скомпанована в виде наглядных таблиц, в которых отражены характеристики браузеров по тому или иному критерию. Помимо специалистов по веб-безопасности работа также представляет интерес для веб-разработчиков, которым постоянно приходится подстраиваться под множество браузеров.
    Книга на английском, ссылка ниже.
    Browser Security Handbook.

    P.S. обновил wordpress до 2.7, радуюсь новой фишке “Опубликовать это!”, реализованной в виде букмарклета. Очень удобно публиковать свеженайденный интересный контент, не покидая сайт.

  • CSRF у вас дома

    Умные дома с интеллектуальными системами управления могут иметь веб-интерфейс. Более того, веб-контроль некоторых умных домов может быть уязвим к тем же атакам, которые проводят на обычные веб-приложения. В этом я сегодня убедился, прочитав любопытный пост вот на этом блоге. Автор рассказывает как его друг, который живет во Франции, однажды показал ему веб-интерфейс управления своим домом. Выяснилось, что веб-приложение, отвечающее за контроль освещения рождественской елки уязвимо к CSRF, с помощью которой атакующий мог включать/выключать елку =) Кроме того, веб-приложение также содержало активную XSS, что давало возможность управления всем домом.

    Как ни странно, в выдаче гугла нашелся еще один умный дом с таким же веб-интерфейсом. Автор предположил, что каждый раз, когда гуглбот проходил по ссылке, в доме включался или выключался свет =)

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

    С наступающим!

  • По поводу статьи в ][ “Неслучайные числа”

    XA-119Недавно на сайте журнала “Хакер” увидел анонс нового выпуска. Одна из статей имела до боли знакомое название – “Неслучайные числа. Взлом генератора случайных чисел – ultimate-баг движка PHP“. Постоянные читатели моего блога, которые еще не видели эту статью, думаю, догадываются, о чем там ведется речь. Журнал я покупаю время от времени, в основном, чтобы почитать действительно стоящие статьи (обычно одна-две за полгода). В этот раз мой поход в близлежащий киоск был вызван интересом исключительно к данной статье – анонсы остальных публикаций меня не радовали, особенно “Юморим по-хакерски. Ломаем Радио Юмор FM“, автора и примерное содержание которой я мог предположить наперед (кто читал хотя бы пару выпусков журанала за последние 2 года меня сразу поймет =)). Автором статьи, к моему удивлению, оказался Маг, хотя сначала я думал, что это будет Элект, с которым мы обменивались опытом и информацией по поводу генераторов случайных чисел и усечению данных в MySQL. Тем не менее, статья мне понравилась, правда она мне показалась не очень доходчивой. Во всяком случае, мне пришлось бы не один раз перечитывать всю статью от начала до конца, чтобы вникнуть в суть дела, если бы не провел собственное исследование. Возможно формат журнала помешал Магу уместить все мысли в рамках одной статьи, а может просто сам характер материала, о котором всему миру поведал Стефан, довольно сложен для осмысления =). Еще одни момент, который я хотел бы отметить, – это недостаточная стилистическая обработка текста. Впрочем, для статей в рубрике “Взлом” это не так уж и важно, хотя для любителей рассказать историю одной скули – это один из основных компонентов, если автор рассчитывает получить одобрение на публикацию =). Среди фактических ошибок обнаружил лишь одну: в описании особенностей функции rand() не сказано про то, что они актуальны только для win32. Наверное, автор не заметил мой маленький апдейт статьи =). В целом, статья неплохая. Спасибо Магу за врезку в статье с кучей ссылок на мой блог =). Кстати, такая статья могла бы появиться намного раньше, ведь Стефан впервые описал подобного рода уязвимость в PunBB еще в феврале 2008 года. Что еще более удивительно, это эксплоит, появившийся вслед за advisory на следующий день и написанный совершенно другим человеком.

  • Эффективный и быстрый пентестинг веб-приложений с Burp Suite

    Burp Suite – это набор относительно независимых кроссплатформенных приложений, написанных на Java, призванных решать повседневные задачи пентестера. Ядром программы является Burp Proxy, выполняющий функции локального прокси-сервера; остальные компоненты набора – это Spider, Intruder, Repeater, Sequencer, Decoder и Comparer. Все составляющие связаны между собой в единое целое таким образом, что данные могут быть отправлены в любую часть приложения, например из Proxy в Intruder для проведения различных проверок над веб-приложением, из Intruder в Repeater – для более тщательного ручного анализа HTTP-заголовков. Все компоненты заслуживают особого внимания, поэтому хотел бы рассказать о каждом из них.

    Burp Suite

    (more…)

  • SQL-инъекции… в жизни 🙂

    Оказываются еще и такие SQL-инъекции бывают…
  • Защита от Clickjacking в Opera

    Пользователи браузера FireFox имеют возможность получить высокую безопасность, работая в Сети, благодаря плагину NoScript, который способен защитить от множества атак, включая Clickjacking. К сожалению, кроме XSSFilter в IE8 для других браузеров аналогов NoScript не существует. Учитывая тот факт, что огромное число пользователей предпочитает браузер Opera, проблема защиты от Clickjacking в этом браузере является довольно актуальной. Opera предоставляет большие возможности по кофигурированию, поэтому даже без использования сторонних плагинов пользователь имеет возможность настроить свой браузер для эффективной защиты от Clickjacking.

    (more…)

  • Бэкдор в триггере

    Нередко случается, что все руткиты/бэкдоры/веб-шеллы, полученные взломщиком с большими усилиями, однажды обнаруживаются администратором сервера и безвозвратно удалются. Чтобы закрепиться в системе как можно дольше, используется множество способов, большинство из которых сводится к хранению бэкдора непосредственно в файловой системе. У меня возникла идея хранить “черный ход” в систему в триггерах базы данных.

    Триггер – это особая хранимая процедура, которая выполняется при наступлении определенного события на уровне таблицы базы данных. Этими событиями обычно являются использование операторов INSERT, UPDATE, DELETE. Главная особенность триггера заключается в том, что хранимая процедура, которую по сути он представляет собой, вызывается не пользователем, а самой базой данных и только при определенном условии.

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

    (more…)

  • GROUP_CONCAT()

    Функция GROUP_CONCAT() позволяет объединить в одну строку несколько записей из таблицы, при этом можно задавать свой собственный символ разделения, а также воспользоваться операторами DISTINCT, ORDER BY, ASC/DESC. Впервые функция появилась в MySQL версии 4.1. Полный синтаксис и примеры использования можно посмотреть в официальной документации MySQL.

    В SQL-инъекции GROUP_CONCAT() может пригодиться при получении списка баз данных, таблиц и их колонок из information_schema (разумеется, при MySQL 5.*).

    (more…)

  • Опубликованы подробности атаки Clickjacking

    Последние две недели в среде специалистов по веб-безопасности не утихали разговоры по поводу готовящейся публикации деталей новой атаки, позволяющей незаметно для пользователя “украсть” его клики. Первоначально предполагалось, что Robert Hansen, известный под ником “RSnake” и Jeremiah Grossman опубликуют доклад о найденной ими новой уязвимости, получившей название Clickjacking, на конференции OWASP в Нью-Йорке 24 сентября 2008 года, однако их выступление было отменено по просьбе компании Adobe, которая была крайне заинтересована в этой атаке, так как основной ее продукт, а именно Adobe Flash, был уязвим перед Clickjacking. Свою просьбу Adobe мотивировал желанием устранить уязвимость еще перед тем, как ее только начнут применять, тем самым обезопасив пользователей Flash. Разглашение подробностей произошло лишь недавно, после того, как на обозрение широкому кругу лиц был выставлен первый PoC от третьих лиц, которые самостоятельно провели собственное исследование, опираясь на ту небольшую информацию, которая все-таки просочилась в публичные блоги и сайты. Честно говоря, я ожидал большего и вся шумиха, которая была поднята по поводу Clickjacking, не сопоставима со значимостью угрозы самой атаки. Тем не менее, определенная степень опасности все же существует и исключать возможность проведения Clickjaсking разработчикам не стоит.

    (more…)

  • Методы обхода httpOnly

    httpOnly – это дополнительный флаг для HTTP-заголовка Set-Cookie, который указывает на запрет чтения/записи данных Cookie посредством JavaScript, отсюда и название: Cookie доступны только через протокол HTTP. Использование httpOnly позволяет веб-разработчикам установить собственную политику безопасности в отношении доступа к Cookie из среды браузера, что по замыслу разработчиков из Microsoft должно помочь в борьбе против XSS-уязвимостей. Однако обойти ограничения httpOnly довольно просто…

    (more…)