Search
Write a publication
Pull to refresh
141
0
Anton Lopanitsyn @Bo0oM

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

Send message

WPAD: инструкция по эксплуатации

Reading time6 min
Views82K


Привет! Я Максим Андреев, программист бэкенда Облака Mail.Ru. На последнем Security Meetup’е я поделился результатами своего исследования протокола автоматической настройки прокси WPAD. Для тех, кто пропустил, — сегодняшний пост. Я расскажу о том, что такое WPAD, какие возможности для эксплуатации он предоставляет с точки зрения злоумышленника, а также покажу примеры того, как можно частично перехватывать HTTPS-трафик с помощью этой технологии.
Читать дальше →

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

Reading time2 min
Views251K

Господа! Я рад сообщить, что наконец-то все желающие могут загрузить бесплатный учебник на более чем 1600 страниц, над переводом которого работало более полусотни человек из ведущих университетов, институтов и компаний России, Украины, США и Великобритании. Это был реально народный проект и пример международной кооперации.

Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера», второе издание, 2012, сводит вместе миры программного обеспечения и аппаратуры, являясь одновременно введением и в разработку микросхем, и в низкоуровневое программирование для студентов младших курсов. Этот учебник превосходит более ранний вводный учебник «Архитектура компьютера и проектирование компьютерных систем» от Дэвида Паттерсона и Джона Хеннесси, причем соавтор предыдущего учебника Дэвид Паттерсон сам рекомендовал учебник от Харрисов как более продвинутый. Следуя новому учебнику, студенты строят реализацию подмножества архитектуры MIPS, используя платы с ПЛИС / FPGA, после чего сравнивают эту реализацию с индустриальными микроконтроллерами Microchip PIC32. Таким образом вводится вместе схемотехника, языки описания аппаратуры Verilog и VHDL, архитектура компьютера, микроархитектура (организация процессорного конвейера) и программирование на ассемблере — в общем все, что находится между физикой и высокоуровневым программированием.

Как загрузить? К сожалению, не одним кликом. Сначало надо зарегистрироваться в пользовательском коммьюнити Imagination Technologies, потом зарегистрироваться в образовательных программах на том же сайте, после чего наконец скачать:
Читать дальше →

Методология аудита безопасности веб-приложения

Reading time3 min
Views15K


Сегодня мы поговорим о методологии проведения тестирования на проникновение веб-приложений. Одним из методов аудита веб-сайта является тестирование на проникновение BlackBox (BlackBox — «черный ящик»), при котором специалист располагает только общедоступной информацией о цели исследования.

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

Болты в чае, или вебинар по теории вероятностей на практике

Reading time2 min
Views9K
В статье "Применение Теории вероятностей в IT" автор (преподаватель теории вероятностей в ВУЗе) пишет:
из года в год я сталкиваюсь с таким явлением, что студенты не понимают, зачем и почему им учить эту дисциплину.

Это действительно важная проблема. Владелец компании минималистичных видео-уроков Common Craft и заодно автор книги "Искусство объяснять" пишет, что человеку очень важно сначала ответить себе на вопрос «зачем?», и только тогда он заинтересуется ответом на вопрос «как?» (наверное, поэтому ему заказывали создание роликов в стиле Common Craft и Google, и Dropbox, и Twitter).

Поэтому я решил разобраться в теории вероятностей: накупил разных книжек типа "Удовольствие от икс", да потом ещё нанял двух репетиторов по Skype.

В итоге всё стало проясняться, и было решено поделиться своими инсайдами с широкой аудиторией.

Самый красивый пример, из тех, что я нашёл — это болты в чае. В советские времена был ГОСТ на максимальное содержание болтов\гаек в чае, которые попадали туда при уборке урожая: «массовая доля металломагнитной примеси» не должна была превышать 5-7 грамм на тонну. Для этого проверяли выборку и по ней делали заключение по всей партии чая.

И от этого примера можно переходить к более глобальному примеру применения статистического анализа — к японскому экономическому чуду.

В общем, всё это упоминается в тизере вебинара:


Давай посмотрим

VPN-расширение Hola продает пользовательский трафик и содержит уязвимости удаленного выполнения кода

Reading time2 min
Views176K
4 дня назад администратор борды 8chan (доска /beast/ которой заблокирована в России) сообщил о DDoS-атаке на сайт, которая выглядела как стократный приток обычных посетителей. Самое большое увеличение нагрузки получил скрипт для постинга post.php (капчи на борде не было); DDoS привел к падению PHP-FPM, под которым выполнялся скрипт. В ходе исследования трафика выяснилось, что для совершения атаки были использованы каналы пользователей с Hola — популярным браузерным расширением для доступа к заблокированным сайтам, пользующееся популярностью как за рубежом, так и в России.

Пользователи расширения, сами того не зная, отдавали свои интернет-каналы дочерней фирме Luminati, которая, по сути, владела более 9 миллионами уникальных выходных нод, за счет расширения и каналов пользователей. Зарабатывают они, судя по всему, очень неплохо: первые 100 гигабайт трафика обходятся клиентам в $20 за гигабайт.

В FAQ проекта не было никаких упоминаний об использовании каналов пользователей, однако в Hola быстро добавили несколько пунктов на этот счет. Теперь, если вы не хотите отдавать свой канал Limunati, вам придется заплатить $5 в месяц.
Архивная версия FAQ
Текущая версия FAQ

После опубликования данной информации администратором 8chan, группа ребят нашла 4 уязвимости в данном расширении:
  • Чтение произвольных файлов до NULL-байта (/file_read.json)
  • Раскрытие уникального идентификатора пользователя (/callback.json)
  • Раскрытие адресов некоторых функций (/procinfo/ps, для последующего обхода ASLR)
  • Удаленное выполнение кода (/vlc_mv.json и /vlc_start.json)
  • Повышение привилегий до SYSTEM под Windows
Читать дальше →

Сниффинг истории браузера с помощью favicon

Reading time2 min
Views29K
Метод позволяет определить посещаемые пользователем сайты с помощью запроса иконок сайта со страницы. Идея этого метода пришла мне в голову при обсуждении с другом возможностей аналитики поведения пользователей на его сайте. Мы обсуждали, какие метрики нужно и какие не нужно собирать о его посетителях. Я подумал, что было бы неплохо узнать, какими еще сайтами пользуются его посетителями. В голову тут же пришел старый, но известный способ с CSS-стилями.

Тот способ основывается на использовании метода DOM элемента getComputedStyle. Будучи вызванным у HTMLAnchorElement, он позволяет различать :visited и обычные состояния ссылок на популярные сайты.

Баг давно закрыли и больше им воспользоваться нельзя.

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

Ниже приведен полный исходный код proof-of-concept реализации этого способа. С его помощью можно продемонстрировать, что вы посещаете сайт habrahabr.ru, но ни разу не были на сайте hornet.com.
Читать дальше →

Сокеты в Python для начинающих

Reading time4 min
Views591K

Предисловие


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



Что это


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

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

Читать дальше →

Живительная флешка

Reading time10 min
Views523K
На данный момент в сети имеется целая куча различных инструкций по созданию дежурной рабочей сисадминской флешки, но, к сожалению, многие из них уже устарели и просто не подходят под современные задачи.

Я не собираюсь описывать процесс установки GRUB4DOS, так как это не изменилось и в сети полно инструкций. Просто скажу, что GRUB4DOS просто должен быть установлен на флешку. Также я НЕ собираюсь выкладывать здесь образы систем (все имеется на торрентах), но, тем не менее, выложу полное меню из LST-файлов со структурой папок. Также необходимо учесть, что все образы ISO необходимо дефрагментировать.


Читать дальше →

Играем мускулами. Методы и средства взлома баз данных MySQL

Reading time10 min
Views73K


MySQL — одна из самых распространенных СУБД. Ее можно встретить повсюду, но наиболее часто она используется многочисленными сайтами. Именно поэтому безопасность базы данных — очень важный вопрос, ибо если злоумышленник получил доступ к базе, то есть большая вероятность, что он скомпрометирует не только ресурс, но и всю локальную сеть. Поэтому я решил собрать всю полезную инфу по взлому и постэксплуатации MySQL, все трюки и приемы, которые используются при проведении пентестов, чтобы ты смог проверить свою СУБД. 0day-техник тут не будет: кто-то еще раз повторит теорию, а кто-то почерпнет что-то новое. Итак, поехали!
Читать дальше →

Атака на оракула. Подробный гайд по векторам атак на Oracle DB

Reading time17 min
Views37K


Сегодня я бы хотел поговорить о векторах атак на СУБД Oracle на разных стадиях: как прощупать слабые места базы снаружи, проникнуть и закрепиться внутри плюс как все это дело автоматизировать с помощью специализированного софта. Архитектура и возможности базы данных весьма интересны, занимательных моментов немало, а значит, немало и способов все испортить. Однако не забывай: ломать — не строить, поэтому вся дальнейшая информация предоставлена исключительно с целью выявить недочеты в защищенности тестируемых систем и повысить безопасность.
Читать дальше →

Тестирование на проникновение в соответствии с требованиями СТО БР ИББС-1.0-2014

Reading time4 min
Views23K
image

Сегодня мы поговорим о проведении тестирования на проникновение в соответствии с требованиями СТО БР ИББС-1.0-2014 своими силами.

Распоряжением Банка России от 10.07.2014 N Р-556 http://www.consultant.ru/document/cons_doc_LAW_165504/ «О вводе в действие рекомендаций в области стандартизации Банка России «Обеспечение информационной безопасности организаций банковской системы Российской Федерации. Обеспечение информационной безопасности на стадиях жизненного цикла автоматизированных банковских систем» с 1 сентября 2014 года были введены в действие Рекомендации в области стандартизации Банка России «Обеспечение информационной безопасности организаций банковской системы Российской Федерации. Обеспечение информационной безопасности на стадиях жизненного цикла автоматизированных банковских систем» РС БР ИББС-2.6-2014» http://www.cbr.ru/credit/Gubzi_docs/rs-26-14.pdf (документ хотя и носит рекомендательный характер, но, по сути, служит руководством к действию).
Читать дальше →

Победы в конкурсах программирования негативно коррелируют с успехами в работе

Reading time1 min
Views28K
Если вы хотите построить успешную карьеру в сфере разработки ПО, ни в коем случае не увлекайтесь спортивным программированием и участием в конкурсах.

Такой вывод следует из беспристрастной статистики и дата-майнинга рабочих показателей сотрудников Google, рассказал Питер Норвиг в лекции, прочитанной 26 марта 2015 года в Венском техническом университете.


Читать дальше →

Стань повелителем загрузки Linux

Reading time24 min
Views93K
Сначала мы познакомимся с udev и научимся с его помощью исследовать установленные в компьютере устройства прямо во время загрузки: в качестве примера будем автоматически выбирать настройки видеокарт для Xorg. Затем решим задачу работы с одним образом на десятках компьютеров одновременно путём внедрения собственного обработчика в initramfs, а заодно оптимизируем систему для сетевой загрузки. Чтобы дополнительно уменьшить время загрузки и снизить нагрузку на сеть попробуем NFS заменить на NBD, и помочь TFTP с помощью HTTP. В конце вернёмся в начало — к загрузочному серверу, который также переведём в режим «только для чтения».



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

Начало смотрите здесь:
Первоначальная настройка сервера
Подготовка образа для загрузки по сети
Читать дальше →

Решение задач по sql injection с сайта alexbers.com/sql

Reading time5 min
Views38K
Хочу поделиться с «Хабрахабром» примером своих решений задач по sql-инъекциям с сайта alexbers.

Пример 1: www.alexbers.com/sql/1.php


Это даже и не пример. Требуется самому написать запрос с заранее известными всем таблицами, именем пользователя.
Дано: 
Таблица: users
Поля: id,login,pass 

Решение:
select * from users where id='12'

а ссылка будет выглядеть вот так:
https://www.alexbers.com/sql/1.php?text=select+*+from+users+where+id%3D%2712%27

Просто запрос со всеми данными, которые нам заведомо известны.
Читать дальше →

Опасности использования open-uri

Reading time1 min
Views14K
OpenURI в руби это стандартная библиотека сильно упрощающая работу с URL так как она объединяет в себе Net:HTTP/HTTPS/FTP и представляет из себя всего лишь метод open. Насколько я знаю это самый популярный способ для скачивания файла, GET запроса или чтения данных.

Но на деле require "open-uri" патчит Kernel.open и вызывает разный код для разных аргументов, что может привести к удаленному выполнению кода или чтению любого файла на сервере!

open(params[:url]) это выполнение кода для url=|ls Все что начинается с | рассматривается как системный вызов.

open(params[:url]) if params[:url] =~ /^http:// не лучше для url=|touch n;\nhttp://url.com (сломанные регулярки могут привести к RCE, используйте \A\z).
Читать дальше →

Доменные перлы или самые дурацкие домены

Reading time5 min
Views77K
Именно благодаря домену мы составляем свое первое впечатление о сайте, который намерены посетить, но иногда это впечатление бывает обманчиво.



Немного статистики. По данным на 2010 год в сети Интернет насчитывалось около 192 миллионов доменных имен, а их прирост составил примерно 3.7 миллиона в месяц. Среди такого огромного количества обыкновенных, а иногда и весьма банальных имен, встречаются домены, способные вызвать здоровый смех ну или хотя бы удивленную улыбку. Уважаемые дамы и господа, представляю Вашему вниманию подборку одних из самых неординарных доменных имен.
Читать дальше →

Почему научиться программировать так чертовски тяжело?

Reading time14 min
Views428K
Привет, Хабр!

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

  • С чего начать обучение программированию?
  • У вас есть курс по Java для новичков, но я слышал, что нужно изучать Python, правда ли это?
  • На других сайтах все просто и понятно, а у вас какие-то компиляции и тесты!
  • Непонятно зачем нужен этот ваш курс по алгоритмам, в реальной жизни все алгоритмы уже реализованы в стандартных библиотеках

Но сложнее всего объяснить новичку, грубо говоря, во что он ввязывается. Благодаря очень простым, игровым образовательным проектам многие считают, что программирование это очень легко, а наши виртуальные машины, где нужно запускать тесты и компилировать код – это надуманная сложность. Давно хотелось найти такой материал, который бы подготовил новичка к длинному и сложному пути к карьере программиста. И недавно наши коллеги из Viking Code School такой материал написали! А мы его перевели для вас.




Квинси Ларсон был просто “офисным парнем в костюме”. Он решил научиться программировать. Начал спрашивать людей вокруг. Изучил немного Руби, потом быстренько посмотрел на другие языки вроде Scala, Clojure и Go. Он изучил Emacs, а потом Vim, а потом раскладку Dvorak. Он втыкал в Линукс, копался с Лиспом и кодил на Питоне, и жил при этом в командной строке больше полутора лет.

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

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

Ох. Звучит знакомо?
Читать дальше →

Разбор вызовов функций в PHP

Reading time15 min
Views40K
Этот пост посвящён оптимизации PHP с помощью профайлера Blackfire в PHP-скрипте. Нижеприведённый текст является подробным техническим объяснением статьи в блоге Blackfire.

Обычно применяется метод strlen:

if (strlen($name) > 49) {
...
}

Однако такой вариант примерно на 20% медленнее этого:

if (isset($name[49])) {
...
}

Выглядит неплохо. Наверняка вы уже собрались открыть ваши исходники и заменить все вызовы strlen() на isset(). Но если внимательно прочитать оригинальную статью, то можно заметить, что причина 20-процентной разницы в производительности — многократные вызовы strlen(), порядка 60-80 тысяч итераций.
Читать дальше →

Недорогие, маленькие, сетевые компьютеры — небольшой обзор

Reading time6 min
Views96K
«Чтоб ты жил в интересные времена!» — якобы старинное китайское проклятие.
Да, нам с вами повезло или «повезло» жить в действительно интересные времена (вариант — «в эпоху перемен»). Возможно, это на самом деле проклятие, особенно с точки зрения мифических древних китайцев. Однако факт остается фактом: то, что еще пара десятков лет назад казалось невозможным, сейчас доступно практически каждому. Особенно это заметно в нашей отрасли — информационные технологии и цифровая электроника развиваются просто какими-то совершенно фантастическими темпами. Функциональные возможности, быстродействие, миниатюрность и (относительная) дешевизна современных цифровых решений поражает воображение.
Еще совсем недавно сетевой компьютер размером меньше кредитки и стоимостью в несколько сотен рублей, пригодный для создания на его базе интересных самостоятельных проектов энтузиастами-одиночками с относительно невысоким уровнем знаний в области электроники и программирования, казался весьма отдаленной перспективой. И вот уже мы можем смело выбирать из десятка (как минимум) альтернатив! Давайте посмотрим, что сейчас можно приобрести буквально за несколько десятков долларов, чтобы построить вокруг этого нечто впечатляющее и даже, может быть, полезное.
Итак, поехали.

Исследование: Перехват трафика мобильного Интернета через GTP и GRX

Reading time5 min
Views57K
image

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

Исследователи Positive Technologies обнаружили уязвимости в инфраструктуре сетей мобильной связи, которые позволяют перехватывать GPRS-трафик в открытом виде, подменять данные, блокировать доступ к Интернету, определять местоположение абонента. Под угрозой оказываются не только мобильные телефоны, но и специализированные устройства, подключенные к 2G/3G/4G-сетям с помощью модемов: банкоматы и терминалы оплаты, системы удаленного управления транспортом и промышленным оборудованием, средства телеметрии и мониторинга и т.д.
Читать дальше →

Information

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

Specialization

Pentester, Antifraud Analyst