• Отслеживаем действия пользователя с помощью CSS

    • Tutorial

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


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


    Возможно, после прочтения поста, вам покажется что я "изобрел колесо". Так и есть, методы описанные в этом посте не новы, и используют спецификации которые поддерживают практически все браузеры.


    Так или иначе, эта информация поможет вам понять один нестандартный метод отслеживания поведения пользователей, который на данный момент нельзя "отключить" (в настройках) или заблокировать (плагинами вроде AdBlock или Ghostery).

    Читать дальше →
  • Создаем CSS кейлоггер

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


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

      Читать дальше →
    • Шифрования сообщений вконтакте методом AES для браузеров Chrome и Firefox

      image

      После скандала с PRISM вопрос безопасности данных стал еще актуальней чем был, и даже если вы не секретный агент, то ваша личная переписка, должна соответствовать своему названию, и по умолчанию должна быть закрыта от доступа третьих лиц. Взяв это за аксиому это принцип, я занялся разработкой дополнений для браузеров для работы с популярной в странах СНГ социальной сетью вконтакте методом AES.
      Читать дальше →
    • Простейший кросcплатформенный сервер с поддержкой ssl

      Не так давно передо мной встала задача: написать кроссплатформенный сервер для обработки запросов по протоколу ssl. До этого я писал сервера для обычных, не шифрованных протоколов, но с ssl столкнулся впервые.
      Беглый обзор интернета показал, что лучшим решением будет не велосипедостроение, а использование библиотеки OpenSSL.
      В этой статье я не хочу рассматривать процесс установки OpenSSL на Linux и Windows, замечу лишь, что для Windows процесс этот оказался нетривиальным. А рассказать я хочу о том, как мне удалось скомпилировать в Visual Studio пример простейшего сервера, входящий в состав исходников OpenSSL.
      Неискушенному читателю может показаться: «что тут особенного — создал проект, включил в него готовый исходник, запустил»… Однако обо всем по порядку.

      Читать дальше →
    • Как работает поиск в Kad Network

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

      Собственно так и работает поиск в Kad Network, реализации распределённой хэш-таблицы, основанной на довольно широко используемом протоколе Kademlia. Kad Network используется такими программами как eMule, iMule, aMule и MLDonkey для поиска хэшей файлов по ключевым словам и источников файлов по их хэшам.
      Читать дальше →
      • +17
      • 7,5k
      • 2
    • Обход NAT с помощью IPv6 & CloudFlare

      Доброго времени суток. Сегодня я бы хотел поделиться с вами интересным способом решения проблемы доступа к вашему серверу/ПК из-за NAT, используя IPv6 Tunnel Broker и бесплатные возможности сервиса CloudFlare.

      Предисловие


      Как известно, многим пользователям предоставляется доступ в интернет или с помощью динамического IP-адреса, или с помощью технологии NAT.

      Если первые еще могут воспользоваться каким-либо Free DDNS сервисом, то вторым приходится сидеть, сложа руки, или покупать у провайдера заветный статический IP-адрес.

      В данной статье вы увидите как с помощью вышеупомянутых сервисов «захостить» блог из компьютера, который находится за NAT. В итоге сайт будет доступен даже там, где IPv6 подключения нет и в помине.
      Читать дальше →
    • Межпланетная файловая система — Локализуем глобальный шлюз или сайты в IPFS

        Мы научимся переключать на свой локальный шлюз IPFS сайты, которые этого ещё не делают сами автоматически. Создадим им общий SSL сертификат при помощи OpenSSL в комплекте со Stunnel.


        Напоминаю: InterPlanetary File System — это новая децентрализованная сеть обмена файлами (HTTP-сервер, Content Delivery Network). О ней я рассказывал в статье "Межпланетная файловая система IPFS".


        image

        Читать дальше →
      • Бесконечно выгодная программа

        • Перевод
        Недавняя статья на Slashdot о программировании игр на ассемблере для Атари (Donkey Kong и я) напомнила об ассемблерных приложениях, которые я писал по молодости, и о компьютерах, которые у нас тогда были.

        Поначалу я набирался опыта на DEC PDP-8, но самый кайф начался, когда появилась CP/M. CP/M изначально была «операционной системой для бизнеса», но ещё это была система, которую можно было позволить себе иметь дома, — серьёзная вещь для молодого подающего надежды гика.
        Читать дальше →
      • Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу

          Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.

          Существует два распространенных типа подключения DPI: пассивный и активный.

          Пассивный DPI

          Пассивный DPI — DPI, подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта.
          Читать дальше →
        • Создаём собственный программный 3D-движок

          • Перевод
          image

          Часть 1: точки, векторы и базовые принципы


          Современные трёхмерные игровые движки, используемые в крупнейших проектах — это тонкая смесь математики и программирования. Многие программисты игр признают, что всецело понять их очень непросто. Если вам не хватает опыта (или профессионального образования, как мне), эта задача становится ещё более сложной. Я хочу познакомить вас с основами графических систем 3D-движков.

          В этой части мы рассмотрим точки и векторы, а также всё интересное, что с ними связано. Если вы владеете основами алгебры (переменные и математика переменных) и информатики (основы любого объектно-ориентированного языка), то сможете разобраться в этой статье. Но учтите, некоторые из тем будут довольно сложными.
          Читать дальше →