Pull to refresh
139
0
Anton Lopanitsyn @Bo0oM

1"--><svg/onload=';alert(0);'>

Send message

Суперкуки HSTS для слежки за пользователями

Reading time3 min
Views26K

Особенности реализации HTTPS позволяют различать конкретного пользователя


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

На проблему недавно обратил внимание консультант по программному обеспечению британской фирмы RadicalResearch. На самом деле Сэм Гринхал открыл Америку: описание этой уязвимости протокола появилось в самом черновике HSTS (см. пункт 14.9 Creative Manipulation of HSTS Policy Store).

Но зато Гринхал наглядно показал, как эту функцию можно использовать в своих интересах. В некоторых браузерах не спасает не только чистка куки, но и даже режим инкогнито.
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments5

Как создать блог на github.io, используя CMS Ghost

Reading time2 min
Views23K


Github предоставляет всем своим пользователям создать статический блог в домене github.io. При это предлагает использовать Jekyll. Но сегодня мы поговорим о том, как сделать блог на гитхабе с cms ghost.
Читать дальше →
Total votes 37: ↑27 and ↓10+17
Comments5

Секреты Metasploit

Reading time4 min
Views227K

Вступление


В 2003 году, хакеру, известному как «HD Moore», пришла идея разработать инструмент для быстрого написания эксплоитов. Так был рожден хорошо известный во всех кругах проект Metasploit. Первая версия фреймфорка была написана на языке Perl, содержавшая псевдографический интерфейс на базе библиотеки curses.

К 2007 году разработчики консолидировались, основав компанию Metasploit LLC; в это же время проект полностью переписали на Ruby и, частично на Си, Python и Ассемблер.

В октябре 2009 года, проект Metasploit был приобретен компанией Rapid7 с условием, что HD Moore останется техническим директором фреймворка, на что согласилась компания Rapid7.
Читать дальше →
Total votes 91: ↑70 and ↓21+49
Comments18

58 признаков хорошего интерфейса

Reading time16 min
Views380K
У хорошего интерфейса пользователя высокая конверсия и его просто использовать. То есть, он хорош и для бизнеса, и для использующих его людей. Вот список опробованных нами идей.

1 Один столбец вместо нескольких


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

image
Читать дальше →
Total votes 226: ↑182 and ↓44+138
Comments102

Дайджест российских программ поддержки ИТ-стартапов #2

Reading time9 min
Views9K


В этом выпуске нашего дайджеста мы продолжаем знакомить читателей с разнообразными российскими программами поддержки ИТ-стартапов. Сегодня, как и в первом выпуске, мы обсуждаем тему связи подобных программ поддержки и ВУЗовского образования. В отличие от первого выпуска, сегодня мы поговорим исключительно о бизнес-инкубаторах, в том числе и о региональных.
Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments2

Делаем загрузочно-установочную флешку

Reading time2 min
Views773K
После поста о восстановлении флешек, оказалось, что у многих теперь есть рабочие, бесхозные флешки, которые обязательно нужно задействовать. Почему бы не сделать из них загрузочные флешки с дистрибутивами необходимых ОС? Это может здорово пригодиться при установке/переустановке операционных систем на нетбуки, где отсутствуют приводы оптических носителей. А иногда может даже ускорить процесс установки и сделать его намного тише на компьютере, где привод есть.
Хотя на Хабре уже описывались варианты создания загрузочных флешек, но вариант, который предлагаю я — слишком прост и по своему универсален, чтобы обойти его стороной.

image
Читать дальше →
Total votes 161: ↑142 and ↓19+123
Comments54

ForkLift — продвинутая замена Total Commander для Mac OS

Reading time2 min
Views62K
image

Очень много ребят жалуется на отсутствие замены Total Commander под Mac OS и не знают о существовании файлового менеджера ForkLift, который вполне может заменить Total Commander.

Краткий обзор возможностей:

Поддерживаемые протоколы
image FTP, SFTP, WebDAV, S3, iDisk, SMB, AFP, NIS
Возможность монтировать удаленную файловую систему и работать с ней, как с локальной. При редактировании файлов на удаленной системе в локальном редакторе, изменения сразу применяются без необходимости отдельного подтверждения «загрузить новую версию файла?».

Также существует возможность подмонтировать любую из удаленных файловых систем как локальный диск, таким образом файлы будут доступны из системы как локальные.
Читать дальше →
Total votes 47: ↑33 and ↓14+19
Comments79

Почему реклама не работает или хватит выбрасывать деньги на ветер

Reading time14 min
Views30K
Рекламные кампании проваливаются.

Это случается настолько часто, что истории успеха носят скорее характер исключения, чем правила, если говорить не о крупнейших брендах, а в целом о ситуации по цеху.

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

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

Давайте разбираться, что же идет «не так» и что нужно делать, чтобы все-таки желаемый результат был достигнут.
Читать дальше →
Total votes 66: ↑49 and ↓17+32
Comments45

Оптимизация конверсии: беспощадная критика 10 лендингов

Reading time7 min
Views33K
Landing page — безусловно важный для каждого предпринимателя инструмент продвижения продукта. Но взгляд владельца лендинга часто «замыливается», и он не замечает элементарных ошибок и недочетов своего детища, в такие моменты и необходима конструктивная критика. Поэтому мы решили поделиться материалом Amanda Durepos, где десяток лендингов подвергаются беспощадному разбору независимыми экспертами.

Нет сомнений, что действенная критика лендингов – целевых продающих страниц – это жесткие замечания, не щадящие самолюбие создателей лендинга. Но немного «боли» во благо — ради эффективности продающей страницы — со стороны экспертов по оптимизации может дать больше, чем долгие часы A/B-тестирования и маркетинговых исследований.
Читать дальше →
Total votes 23: ↑10 and ↓13-3
Comments11

Теперь любой сайт может узнать адрес вашей страницы в VK?

Reading time2 min
Views169K
Наткнулся на сервис позволяющий разместить на своём сайте js-код, который определяет ID посетителя без авторизации. Пользователь об этом совершенно не догадывается, т.к. определение ID происходит при загрузке любой страницы сайта без всяких вопросов об авторизации.

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

Т.е. например, допустим, занесло вас на какой-то порно-сайт, а через полминуты в контакте бот пишет вам в ЛС или на стене предложение приобрести рекомендуемый именно вам товар или услугу в соответствии с разделами, которые вы посещали на сайте, или в соответствии с поисковыми запросами, через которые вы попали на этот сайт.

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

Создатели сервиса утверждают: «Никакого взлома или иных противоправных действий сервис не осуществляет. Мы идентифицируем заходящего человека и накапливаем открытую информацию.». Но я считаю незаконным сам факт идентифицикации. Поправьте меня если я не прав.

Ретаргетинг вконтакте работает похожим образом, но он не даёт доступ к профилям попавшим в группу ретаргетинга.

Может найдётся кто-то среди хабра-специалистов по вэб-безопасности кто сможет осветить эту тему в деталях?

Читать дальше →
Total votes 129: ↑96 and ↓33+63
Comments94

Как подготовиться к докладу на техническую тему

Reading time7 min
Views19K
На MoscowJS приходят докладчики разного уровня. У некоторых за плечами опыт выступлений на крупных конференциях. Кто-то преподавал в ВУЗе или вёл тренинги. Многие выступают на публике в первый раз.

Мы помогаем ребятам подготовиться. Даём советы по контенту, организуем совместные прогоны. Качество доклада зависит от многих факторов. В первом приближении всё сводится к двум вещам:

  • Как вы готовитесь к докладу;
  • Как вы ведёте себя во время выступления.

В этой статье я расскажу о первом пункте. А именно, как подготовить себя к докладу на техническую тему.
Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments11

25+ видеоуроков по Android для начинающих

Reading time2 min
Views413K

Приветствую вас, уважаемый хабрачеловек!
Предлагаю вашему вниманию бесплатно серияю видеоуроков в котрых рассмотренно базовые понятия разработки под Android.
Читать дальше →
Total votes 111: ↑108 and ↓3+105
Comments33

15 малоизвестных команд Linux

Reading time3 min
Views315K
Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
Читать дальше →
Total votes 333: ↑274 and ↓59+215
Comments224

Свежие срезы по популярности CMS-систем, счетчиков/систем аналитики и онлайн-консультантов

Reading time1 min
Views14K
Привет, хабр! Недавно мы публиковали в нашем блоге результаты за второй квартал, а сейчас Ruward:Track обновил срезы по третьему кварталу 2014 года. В основу исследования лег автоматический анализ краулером около 5 миллионов доменов зоны .RU (по типовым сигнатурам сервисов).

Свежий срез по популярности коробочных CMS



image

В этом квартале мы существенно обновили базу сигнатур, а также добавили ряд новых систем, которые смогли сразу попасть в общий топ — OpenCart, Setup.ru, Wix и ряд других. Это сказалось на перераспределении долей рынка (за счет новых игроков многие старички немного потеряли в процентах от рынка), но если смотреть по абсолютному количеству установок, то из тройки лидеров WordPress и Битрикс — прибавили в количестве внедрений, а Joomla немного потеряла.

Читать дальше →
Total votes 30: ↑24 and ↓6+18
Comments29

Google Web Starter Kit: конструктор мобильных сайтов

Reading time1 min
Views51K


Google Web Starter Kit — конструктор и шаблоны для быстрой разработки отзывчивых мобильных сайтов, которые хорошо работают на любой платформе и почти в любом браузере (кроме самых старых). Такие сайты везде выглядят, как нативные приложения.

Основные особенности:
  • HTML-шаблоны, оптимизированные для мобильного применения;
  • отзывчивый макет для разных мобильных устройств
  • руководство по стилю визуальных компонентов;
  • поддержка Guilp.js (по умолчанию), Node.js, Ruby и Sass.
Читать дальше →
Total votes 43: ↑39 and ↓4+35
Comments16

Еще один способ перехвата трафика через ARP Spoofing

Reading time6 min
Views86K
На Хабре было уже много статей на тему классического ARP спуфинга, однако все они были похожи тем, что для полноценного перехвата трафика надо было подменять ARP записи у двух машин. Как правило, это жертва и ее шлюз по умолчанию. Однако, идея спуфить шлюз не всегда хороша. Он вполне может иметь на борту детектор атак, который в два счета доложит админу что сеть ломают и халява кончится, не начавшись. В данной статье будет рассмотрен метод перехвата трафика, при котором атака производится только на хост-жертву. Как обычно в таких случаях, статья чисто для ознакомления, использование во вред карается по закону и т.д.
Под катом много букв.

Читать дальше →
Total votes 44: ↑42 and ↓2+40
Comments30

Защита от SQL-инъекций в PHP и MySQL

Reading time26 min
Views252K
К своему удивлению, я не нашёл на Хабре исчерпывающей статьи на тему защиты от инъекций. Поэтому решил написать свою.

Несколько пространный дисклеймер, не имеющий прямого отношения к вопросу
Давайте признаем факт: количество статей (и комментариев) на тему защиты от SQL-инъекций, появившихся на Хабре в последнее время, говорит нам о том, что поляна далеко не так хорошо истоптана, как полагают некоторые. Причём повторение одних и тех же ошибок наводит на мысль, что некоторые заблуждения слишком устойчивы, и требуется не просто перечисление стандартных техник, а подробное объяснение — как они работают и в каких случаях должны применяться (а в каких — нет).

Статья получилась довольно длинной — в ней собраны результаты исследований за несколько лет — но самую важную информацию я постараюсь компактно изложить в самом начале, а более подробные рассуждения и иллюстрации, а так же различные курьёзы и любопытные факты привести в конце. Также я постараюсь окончательно развеять множественные заблуждения и суеверия, связанные с темой защиты от инъекций.

Я не буду пытаться изображать полиглота и писать рекомендации для всех БД и языков разом. Достаточное количество опыта у меня есть только в веб-разработке, на связке PHP/MySQL. Поэтому все практические примеры и рекомендации будут даваться для этих технологий. Тем не менее, изложенные ниже теоретические принципы применимы, разумеется, для любых других языков и СУБД.

Сразу отвечу на стандартное замечание про ORM, Active record и прочие query builders: во-первых, все эти прекрасные инструменты рождаются не по мановению волшебной палочки из пены морской, а пишутся программистами, используя всё тот же грешный SQL. Во-вторых, будем реалистами: перечисленные технологии — хорошо, но на практике сырой SQL постоянно встречается нам в работе — будь то legacy code или развесистый JOIN, который транслировать в ORM — себе дороже. Так что не будем прятать голову в песок и делать вид, что проблемы нет.

Хоть я и постарался подробно осветить все нюансы, но, вполне возможно, некоторые из моих выводов могут показаться неочевидными. Я вполне допускаю, что мой контекст и контексты читателей могут различаться. И вещи, которые кажутся мне сами собой разумеющимися, не являются таковыми для некоторых читателей. В этом случае буду рад вопросам и уточнениям, которые помогут мне исправить статью, сделав её более понятной и информативной.

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

Правила, соблюдение которых гарантирует нас от инъекций


  1. данные подставляем в запрос только через плейсхолдеры
  2. идентификаторы и ключевые слова подставляем только из белого списка, прописанного в нашем коде.

Всего два пункта.
Разумеется, практическая реализация этих правил нуждается в более подробном освещении.
Но у этого списка есть большое достоинство — он точный и исчерпывающий. В отличие от укоренившихся в массовом сознании правил «прогонять пользовательский ввод через mysql_real_escape_string» или «всегда использовать подготовленные выражения», мой набор правил не является катастрофическим заблуждением (как первое) или неполным (как второе).

Но вперёд, читатель — перейдём уже к подробному разбору.
Читать дальше →
Total votes 128: ↑98 and ↓30+68
Comments97

Простым языком об HTTP

Reading time9 min
Views1.4M
Вашему вниманию предлагается описание основных аспектов протокола HTTP — сетевого протокола, с начала 90-х и по сей день позволяющего вашему браузеру загружать веб-страницы. Данная статья написана для тех, кто только начинает работать с компьютерными сетями и заниматься разработкой сетевых приложений, и кому пока что сложно самостоятельно читать официальные спецификации.

HTTP — широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).

Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.

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

Задача, которая традиционно решается с помощью протокола HTTP — обмен данными между пользовательским приложением, осуществляющим доступ к веб-ресурсам (обычно это веб-браузер) и веб-сервером. На данный момент именно благодаря протоколу HTTP обеспечивается работа Всемирной паутины.
Читать дальше →
Total votes 94: ↑82 and ↓12+70
Comments35

Наш контроллер для умного дома

Reading time6 min
Views156K


UPD: мы сняли работу Wiren Board Smart Home на видео

Краткое содержание:


На базе нашей платформы Wiren Board (компактный индустриальный компьютер с Linux и разными интерфейсами) мы сделали навороченный контроллер для домашней автоматизации Wiren Board Smart Home (ARM9 64MB RAM, GSM/GPRS, Ethernet, Wi-Fi, USB, 2xRS-485/Modbus, CAN, 2 реле, ASK/FSK радиомодуль 433MHz, NRF24L01+ и т.д.), к которому можно подключить кучу всяческих проводных и беспроводных исполнительных устройств и датчиков от разных систем и производителей. Устройство готово и протестировано. На устройства из первой большой партии мы открываем заказ с доставкой до майских праздников по специальной цене.
Читать дальше →
Total votes 93: ↑87 and ↓6+81
Comments132

Что делать если клиент — друг / хороший знакомый?

Reading time3 min
Views130K
image
Какой бы профессией вы ни владели, каким бы родом деятельности ни занимались — всегда найдётся друг или хороший знакомый, который захочет воспользоваться вашими услугами. Или ему нужно срочно что-то помочь, пофиксить, запилить, прочистить… А вы как раз это умеете, да к тому же ещё и неплохо вроде бы.
Одно дело — это бесплатная дружеская помощь на пять минут, а совсем другое — сделать целый проект за деньги со сроками в месяц или полгода.
И вот для этой ситуации у меня есть несколько (для кого-то очевидных!) советов-правил, которыми я бы хотел поделиться, работая в сфере разработки сайтов.

Несколько правил работы с друзьями в качестве клиентов...
Total votes 117: ↑98 and ↓19+79
Comments62

Information

Rating
Does not participate
Location
Россия
Works in
Registered
Activity

Specialization

Pentester, Antifraud Analyst