Как стать автором
Поиск
Написать публикацию
Обновить

Разработка

Сначала показывать
Период
Уровень сложности

Как я взломал Гитхаб еще раз

Время на прочтение3 мин
Количество просмотров88K
Это история о том, как я соединил 5 Low-severity багов в один большой баг, с помощью которого можно было читать/писать в приватные репы на Гитхабе (опять).

Несколько дней назад гитхаб запустил баунти программу. За 4 часа я смастерил такой URL после посещения которого я получал доступ к вашему гитхаб аккаунту и репозиториям. Хотите узнать как?
Читать дальше →

Исследую роутеры с «вечным VPN» с российских маркетплейсов: admin:admin, открытые порты и доступ к соседям

Время на прочтение11 мин
Количество просмотров164K

Привет, Хабр! Меня зовут Иван Глинкин, я занимаюсь инфраструктурным тестированием и аппаратным хакингом в Бастионе. Недавно наткнулся на интересное предложение на российских маркетплейсах — роутеры с предустановленным «пожизненным» VPN. Звучит заманчиво: купил, включил и сразу получаешь безлимитный доступ к виртуальной частной сети, причем без подписки.

Но как говорится, бесплатный сыр бывает только в мышеловке. Я решил разобраться, что на самом деле скрывается за красивыми обещаниями продавцов. Приобрел три роутера из разных ценовых категорий — от бюджетного Cudy за 3000 рублей до топового Xiaomi за 7000. Спойлер: если вы ожидали хеппи-энд, то вы зашли не в тот блог. 

В процессе исследования обнаружил несегментированные сети, где можно получить доступ к устройствам других покупателей, пароли admin:admin, хранящиеся в открытом виде, и SSH-доступ для продавцов. А еще выяснил, что «пожизненные» серверы работают на дешевом хостинге за 2,5 доллара.

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

Читать далее

Как делается OpenSource: личный опыт

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров39K

Я - автор двух пакетов, входящих более-менее во все дистрибутивы Linux: sane-airscan и ipp-usb.

Кроме того, sane-airscan входит во все основные дистрибутивы BSD (FreeBSD, NetBSD и OpenBSD) и в ChromeOS. ipp-usb в ChromeOS не взяли потому, что он написан на Go, а у них там очень жестко с размером исполняемых файлов, вместо этого они написали свое на Rust, но предпочли бы взять моё изделие, если бы могли. Совсем недавно появился порт ipp-usb на FreeBSD, вероятно, другие BSD тоже скоро подтянутся.

Вместе эти два пакета образуют стек "бездрайверного" сканирования документов для Linux и *BSD, а в перспективе нескольких лет, когда старые сканеры, наконец, вымрут, вероятно других драйверов и не останется.

Кроме того, ipp-usb делает возможным "бездрайверную" печать на USB-устройствах.

Здесь я хочу рассказать, каково оно, быть автором популярных OpenSource пакетов. Хоть эта работа и не принесла мне особых денег (на что я, впрочем, особо и не рассчитывал), она принесла мне бесценный опыт.

В целом, я полагаю, продвижение OpenSource пакетов структурно близко к продвижению на рынок программных продуктов. Занимаясь этой деятельностью, очень хорошо начинаешь понимать разницу между (1) написать программу, которая работает для меня (2) написать программу, которую можно назвать продуктом (3) вывести продукт на рынок.

Первое занимает гораздо меньше времени, чем второе. Второе - гораздо меньше времени, чем третье.

Читать далее

Node.js — раковая опухоль

Время на прочтение5 мин
Количество просмотров136K
Если и есть что-то, что веб-разработчики любят, так это знать что-то, что лучше традиционного. Но традиционное является таковым по одной причине: это дерьмо работает. Что-то давно беспокоило меня во всей этой шумихе вокруг Node.js, но у меня не было времени разобраться, что именно, пока я не прочитал полный боли в жопе пост от Райана Дала, создателя Node.js. Я бы забыл его, как любое очередное нытьё какого-то осла о том, что Unix слишком сложен. Но, как полицейскому, который, жопой чуя, что что-то не так с этой семьёй в микроавтобусе, останавливает его и находит пятьдесят килограммов героина, мне показалось, что что-то не так с этой слезливой историей, и возможно, просто возможно, он понятия не имеет, что делает, и много лет программирует, никем не контролируемый.

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

Открытое письмо компании Mail.ru об игре «Аллоды II: Повелитель душ»

Время на прочтение2 мин
Количество просмотров99K
image

Уважаемые сотрудники Mail.ru Group!

К вам обращается сообщество игры «Аллоды 2: Повелитель Душ». Это гениальная RPG-игра, которую в 1999 году создала команда Nival; несколько лет назад Аллоды перешли под крыло Mail.ru Group.

Аллоды 2 — это RPG игра, являющаяся хрестоматийным примером интереснейшего самобытного геймплея. Помимо шедевральной одиночной кампании, сетевой режим в Аллодах 2 сравним по своей феноменальности с Ultima Online и World of Warcraft, обладая поистине уникальными механиками, сеттингом и духом. Неслучайно эта игра несмотря на свой солидный возраст вызывает интерес не только в русскоязычной среде, но и в международном сообществе — в нее до сих играют люди с самых разных сторон света.

Недавно Аллодам 2 исполнилось 20 лет…

Безопасен ли Telegram? Или как я искал закладку в MTProto

Время на прочтение4 мин
Количество просмотров336K
Telegram — мессенджер для смартфонов позиционирующий себя как безопасный, защищающий не только от злоумышленников, но и от гос. структур вроде АНБ. Для достижения этой безопасности Telegram использует собственную разработку — криптографический протокол MTProto, в надежности которого сомневаются многие, сомневаюсь и я.
Читать дальше →

Зачем Яндекс.Браузеру эти данные?

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров117K

TL;DR После установки Яндекс.Браузера с опцией отправки статистики, слишком много данных, на мой взгляд, отправляется куда-то в недра api.browser.yandex.ru. С помощью коллеги по цеху ИБ – Олега Анциферова – удалось раскопать следующее: улетает список пользователей, список установленного ПО, файл hosts и т.д. Под катом подробности.

Читать далее

Как правильно сортировать контент на основе оценок пользователей

Время на прочтение5 мин
Количество просмотров93K


В оригинале название звучит как «How Not To Sort By Average Rating». Я подумал, что дословный перевод «Как не сортировать по усреднённому рейтингу» будет малопонятен и хуже отражает содержание статьи.

Постановка проблемы


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

Неправильное решение №1

Рейтинг= (Число положительных оценок) - (Число отрицательных оценок)

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

Как я сделал ремастер всех серий Том и Джерри в 2к всего за пару месяцев

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров98K

Улучшение Том и Джерри из 480p в 1440p

С чего всё началось? Как-то я решил в третий раз с детства пересмотреть всю оригинальную коллекцию "Том и Джерри", но я, в отличие от маленького ребёнка, не потребляю любой контент вне зависимости от его качества. И вот я собрался посмотреть самую доступную версию, а там вот это цветошоу с постоянными царапинами на всём экране.

Мур-мур-мур

Когда 'a' не равно 'а'. По следам одного взлома

Время на прочтение6 мин
Количество просмотров113K
Пренеприятнейшая история случилась с одним моим знакомым. Но насколько она оказалась неприятной для Михаила, настолько же занимательной для меня.

Надо сказать, что приятель мой вполне себе UNIX-пользователь: может сам поставить систему, установить mysql, php и сделать простейшие настройки nginx.
И есть у него десяток-полтора сайтов посвященных строительным инструментам.

Один из таких сайтов, посвященный бензопилам, плотненько сидит в ТОПe поисковиков. Сайт этот — некоммерческий обзорник, но кому-то поперек горла и повадились его атаковать. То DDoS, то брутфорс, то комменты напишут непотребные и шлют абузы на хостинг и в РКН.
Неожиданно всё стихло и это затишье оказалось не к добру, а сайт начал постепенно покидать верхние строчки выдачи.

image

То была присказка, дальше сама админская байка.

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

Раздувание кода стало астрономическим

Время на прочтение5 мин
Количество просмотров98K

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

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

… но по сути, речь идёт о том, что нужно зарегистрировать несколько файлов, считать их, загрузить, а затем закрыть соединение и записать в файл лога, всё ли прошло успешно, а если нет, то что именно случилось. В этом нет ничего сложного, и даже я писал с нуля подобный код при помощи Wininet API и PHP на сервере, общающемся с моей базой данных MySQL. Наверно, моя система была не такой надёжной, как системы уровня энтерпрайза, однако поддерживала сотни тысяч загруженных файлов, их верификацию, скачивание и логирование. Наверно, это работа для одного кодера на две-три недели?

Специальный инструмент загрузки на сервер, которым я пользуюсь сегодня, суммарно имеет 230 МБ клиентских файлов и задействует 2,7 тысяч файлов для управления этим процессом.
Читать дальше →

О космической доброте и Челябинском метеорите

Время на прочтение4 мин
Количество просмотров104K
Пока NASA находится в коматозе, самое время рассказать о том, как российская космическая доброта, одержала маленькую победу над российским космическим равнодушием. Сегодня снова поговорим о нашем спутнике Электро-Л, и о том как Хабр может творить маленькие чудеса.

Надеюсь, многие уже знают о российском метеорологическом спутнике Электро-Л, который третий год работает на геостационарной орбите. Я уже неоднократно рассказывал о нем, и демонстрировал результаты его трудов. Сегодня поделюсь еще одной позитивной новостью о спутнике.


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

Самое понятное объяснение Специальной теории относительности

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров143K

Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.

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

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

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

Читать далее

Ближайшие события

Математическое расследование, как подделывали выборы губернатора в Приморье 16 сентября 2018 года

Время на прочтение19 мин
Количество просмотров97K
Во втором туре выборов губернатора Приморского края 16 сентября 2018 года встречались действующий и.о. губернатора Андрей Тарасенко и занявший второе место в первом туре коммунист Андрей Ищенко. В ходе подсчета голосов на сайте ЦИК РФ отображалась информационная панель с растущим числом обработанных протоколов и голосов за кандидатов.

Публикация подробных данных по участкам на официальном сайте ЦИК www.izbirkom.ru замерла после ввода 1484 (95.74%) протоколов и не возобновлялась до самого конца. Поэтому когда в трансляции лидер голосования вдруг поменялся с Ищенко на Тарасенко, было неясно, как именно это могло произойти. В СМИ просто писали «после обработки 99,03% протоколов лидер сменился».

Однако, располагая промежуточными суммарными данными из информационной панели, с помощью простой математики и программирования можно подробно установить, что именно происходило с протоколами в ночь после выборов. Используем Python, Colab от Google и Z3 theorem prover от Microsoft Research. Ну и добьём всё обычной дедукцией.


И что же там можно расследовать?

Как попасть на дачу президента в пять часов утра

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


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

Что же не так с ДЭГ в Москве?

Время на прочтение18 мин
Количество просмотров101K

Что же не так с ДЭГ в Москве


Последние три дня я занимался тем, что анализировал результаты ДЭГ в Москве по одномандатным округам в Госдуму. У меня есть некоторые результаты, которыми я бы хотел поделиться с общественностью. Однако основная цель этого поста — поделиться накопленными знаниями, чтобы кто-то ещё мог взглянуть на те данные, что лежат в блокчейне и перепроверить результаты.

Где лежат результаты и как их проверять


Часть исходного кода системы лежит в репозитории github.com/moscow-technologies/blockchain-voting_2021. Там лежит исходный код той части, которая про блокчейн, транзакции и тд, а также какой-то код фронтенда, написанный на JS. Отдельно отмечу некоторый забавный факт, что вместо общего репозитория со всем кодом там лежит несколько .tar.gz архивов, внутри которых уже есть код. В репозитории всего 4 коммита, сам код публиковали только 2 раза: 22 августа и 6 сентября. Никакой истории разработки у нас нет. Чтобы не приходилось распаковывать эти архивы — я залил распакованный репозиторий к себе на Github, можете читать код из браузера, если кому лень загружать и распаковывать самостоятельно: github.com/PeterZhizhin/blockchain-voting_2021_extracted

На сайте observer.mos.ru/all можно скачать дампы системы электронного голосования по одномандатным выборам, внутри которого будет лежать база с транзакциями, результаты расшифровки голосов и блоки в блокчейне. По кнопке “Скачать SQL дамп” загружается gz архив, внутри которого лежит один .sql файл.

Чтобы загрузить этот файл вам необходимо поднять у себя PostgreSQL базу. Я сделал это как-то вот так:
Читать дальше →

Подделываем вашу подпись при помощи шарнирного механизма. Теорема Кемпе

Время на прочтение5 мин
Количество просмотров223K
В этом посте я расскажу про программу, которая подделывает любую подпись при помощи шарнирного механизма. Программа основана на теореме Кемпе, доказанной в середине 19-го века.

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

Новый троян с валидной цифровой подписью LLC Mail.Ru маскируется под обновления популярных программ

Время на прочтение6 мин
Количество просмотров283K
Тихим субботним вечером моя мама мирно серфила Youtube на предмет ухода за цикламенами и внезапно слева от видео образовался баннер (к сожалению, скриншота не будет, т.к. баннер воспроизвести не удалось), призывающий обновить Skype. После клика на него произошел редирект на _http://easyupdate.ru/skype/, выглядящий примерно так…
Подробности и много скриншотов

Увеличь это! Современное увеличение разрешения

Время на прочтение21 мин
Количество просмотров183K

Я уже перестал вздрагивать и удивляться, когда звонит телефон и в трубке раздается жесткий уверенный голос: «Вас беспокоит капитан такой-то (майор такой-то), вы можете ответить на пару вопросов?» Почему бы не поговорить с родной полицией…

Вопросы всегда одни и те же. «У нас есть видео с подозреваемым, пожалуйста, помогите восстановить лицо»… «Помогите увеличить номер с видеорегистратора»… «Здесь не видно рук человека, пожалуйста, помогите увеличить»… И так далее в том же духе.

Чтобы было понятно о чем речь — вот реальный пример присланного сильно сжатого видео, где просят восстановить размытое лицо (размер которого эквивалентен примерно 8 пикселям):


И ладно бы только русские дяди Степы беспокоили, пишут и западные Пинкертоны.
Читать дальше →

Безвыходных ситуаций не бывает

Время на прочтение2 мин
Количество просмотров11K
Совсем недавно пользователь ilzarka написал в своем блоге про интересный вирус, блокирующий Windows:
ilzarka.habrahabr.ru/blog/56869

Напомню еще раз: вирус выводит на экран окошко с предложением отправить смс на какой-то номер, чтобы разблокировать Windows. Ctrl + Alt + Del, Alt + Tab и прочие сочетания, которые должны свернуть/закрыть/переключить на другую программу естественно блокируются. Перезагрузка даже в безопасном режиме заканчивается этим же окошком.

Я сам сталкивался с этим вирусом (каюсь, сидел без антивируса). Первая мысль была загрузиться с Live-CD. Но его у меня не было (каюсь снова, лайв-сиди всегда нужно иметь под рукой). Помедитировав пять минут возле компьютера, я уж подумал что ситуация безвыходная. Но…
безвыходных ситуаций не бывает