Pull to refresh
2
0
Владислав Старцев @im_special_one

Web developer (currently php)

Send message

Hack The Box — прохождение Craft. Копаемся в Git, эксплуатируем уязвимости в API, разбираемся с Vault

Reading time4 min
Views11K
image

Данной статьей я начну публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. Мы рассмотрим, как можно проэксплуатировать RCE в API, покопаемся в репозиториях Gogs, поработаем с базами данных и разберемся c системой хранения и управления секретами Vault.

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

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

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

Arc — система контроля версий для монорепозитория. Доклад Яндекса

Reading time11 min
Views50K
Системы контроля версий уже давно стали повседневным инструментом разработчика. В больших монорепозиториях требования к ним оказываются весьма специфическими. Из-за этого компании либо адаптируют существующие решения, как это делает Facebook с Mercurial и Microsoft с Git, либо разрабатывают собственные системы: Piper и CitC в Google и Arc VCS в Яндексе.

В докладе разработчик Владимир Кихтенко kikht рассказывает, зачем Яндексу понадобилась собственная система контроля версий и как она работает. Рассмотрим её со стороны рядового разработчика: как получить доступ к исходному коду, отвести ветку для разработки и интегрировать изменения в общую кодовую базу. Заглянем под капот — узнаем про внутреннее представление данных и их отображение в виртуальной файловой системе с рабочей копией. Обсудим трудности при реализации функций VCS в виртуальной файловой системе и при ленивой загрузке данных. Поговорим о том, как обеспечивать надежность серверной инфраструктуры репозитория. В конце можно посмотреть неофициальную запись доклада.

— Всем добрый день, меня зовут Владимир. Вы все слышали выступления о том, что не стоит писать велосипеды. Мой доклад будет с другой стороны баррикад.
Читать дальше →
Total votes 37: ↑32 and ↓5+43
Comments67

Анализ обезличенных сделок при торговле акциями

Reading time4 min
Views8.8K
Речь пойдет о прогнозировании движения цен на рынке акций. Идея проста: "те, кто осуществляет очень крупные сделки на покупку/продажу — ошибаются значительно реже. Почему бы нам не отслеживать и анализировать такие сделки ?". Именно поэтому, я свой рабочий прототип назвал «Прилипалой», вспоминая уроки биологии, где нам рассказывали про рыбу-прилипалу.


Читать дальше →
Total votes 4: ↑3 and ↓1+4
Comments16

Парсер Блокчейна в 300 строчек на Python

Reading time3 min
Views17K
image

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

Попытки провести детальный анализ исходного кода проекта Bitcoin Core не увенчались особым успехом, ввиду достаточно строгих начальных условий, которые были мною поставлены перед собой, для того, чтобы сказать «да, теперь я знаю что это и как оно работает» и огромного количества строк исходного кода, которые необходимо было осмыслить, чтобы считать результат достигнутым.

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

И так. Официальный клиент Bitcoin Core загрузил весь блокчейн в папку на локальной машине, это были какие-то файлы, которые, как говорилось в официальных документах, содержали всё то, что называется Bitcoin. Самым интересным для меня являлись файлы так называемой RAW Blockchain Data (blk00000.dat… blk01234.dat и т.д. из папки Bitcoin/blocks), а именно файлы базы данных блокчейн как они есть, в исходном виде.

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

Дабы проникнуть в суть, очевидным показалось разобраться в том, что в себе хранит исходная база данных, на основании которой локальная система производит всё дальнейшее необходимое действо для обеспечения функционирования блокчейна данной криптовалюты. Часть технологии, касающаяся сетевых взаимодействий не рассматривалась в данной статье. Намеренно я ограничился именно локальной частью, и именно файлами хранящими блоки.
Читать дальше →
Total votes 22: ↑10 and ↓12+6
Comments35

Очереди сообщений в PostgreSQL с использованием PgQ

Reading time4 min
Views30K


Очереди сообщений используются для выполнения: отложенных операций, взаимодействия сервисов между собой, «batch processing» и т.д. Для организации подобных очередей существуют специализированные решения, такие как: RabbitMQ, ActiveMQ, ZeroMQ и тд, но часто бывает, что в них нет большой необходимости, а их установка и поддержка причинит больше боли и страданий, чем принесет пользы. Допустим, у вас есть сервис, при регистрации в котором пользователю отправляется email для подтверждения, и, если вы используете Postgres, то вам повезло — в Postgres, почти из коробки, есть расширение PgQ, которое сделает всю грязную работу за вас.

В этой статье я расскажу об организации очередей сообщений (задач) в PostgreSQL с использованием расширения PgQ. Эта статья будет полезна, если вы еще не использовали PgQ или используете самописные очереди поверх Postgres.

Зачем вообще нужен PgQ, если можно просто создать табличку и записывать туда задачи? Казалось бы, можно, но вам придется учесть паралельный доступ к задачам, возможные ошибки (что будет, если процесс обрабатывающий задачу, упадет?), а также производительность (PgQ очень быстрый, а самописные решения, как правило, нет, особенно если транзакция в базе не закрывается во время всего выполнения задачи), но самое главное, почему на мой взгляд надо использовать PgQ, это то, что PgQ уже написан и работает, а самописное решение еще надо написать (UPD: про то, почему не стоит использовать самописные очереди, можно почитать, например, тут).
(UPD: т.к. PgQ работает поверх Postgres, все прелести транзакций можно использовать и в нем)

Но у PgQ есть один огромный минус — отсутствие документации, этот недостаток я и пытаюсь компенсировать этой статьей.
Читать дальше →
Total votes 19: ↑16 and ↓3+17
Comments35

Приготовься к введению в России социального рейтинга

Reading time9 min
Views90K
image

Уже сегодня банки формируют свои предложения исходя из данных собранных их приложениями на смартфонах клиентов. В частности ставка по кредиту, которую вам предложат, сильно зависит от файлов, размещенных на вашем устройстве, и сайтов, которые вы посещали. Именно поэтому банки так настойчиво предлагают их установить (даже отказывая в обслуживании, сославшись на возможность выполнения необходимых действий самостоятельно). Для этого банковские клиенты требуют максимальных прав на устройстве. Например, Сбербанк Онлайн утверждает, что ему необходим доступ к файловой системе для… поиска вирусов на устройстве.

Вам может показаться, что получение низкой ставки по кредиту за социально полезные действия- перспектива далекого будущего. Но уже сегодня ставка ипотеки для молодой семьи находится в районе 10%, тогда как остальные предложения близки к 20%. Т.е. это уже давно реальность, просто вы не придавали этому значения.

Я считаю, что ряд непопулярных решений будет принят в течении последнего президентского срока Владимира Путина: этому человеку больше не надо «сохранять лицо». Поэтому до 2024 года мы увидим новый виток «закручивания гаек», в том числе введение социального рейтинга в России.
Читать дальше →
Total votes 138: ↑97 and ↓41+83
Comments687

Программист-фанатик. Как сохранить конкурентные преимущества и стать заметным?

Reading time5 min
Views13K
Нужно ли продвигать себя? Почему и как это лучше грамотно сделать? Как лучше планировать карьеру? Как сделать, чтобы понимали на работе? Об этом и многом другом в конспекте этой книги.

Читать дальше →
Total votes 13: ↑12 and ↓1+17
Comments7

История Интернет-порно. Часть 1

Reading time18 min
Views60K
Недавно в статье Великий порноэксперимент: история Интернета для взрослых, мы затронули важную для всех тему, однако упустили полноценную историческую часть, которая не менее важна и интересна, и пожалуй, заслуживает двух отдельных публикаций.

«Интернета просто бы не существовало без порно и Стартрека» — Рик Берман, продюсер телесериала «Звездный путь».

Disclaimer. В статье присутствуют изображения эротического содержания и полностью отсутствует какой-либо порнографический контент. Рассказывается о том, какое развитие обеспечил контент для взрослых в целом для медиаиндустрии и для сети Интернет после её рождения. Вы узнаете историю от порно-театров до наших дней, почему VHS победил BetaMax, о том, как «сисопы» заработали свои первые миллионы долларов на эротическом контенте, распространяя его миллионам человек еще до того, как появился Интернет, то есть тогда, когда в Интернете ещё никого не было. А также то, как Амазон и многие другие онлайн-корпорации, использовали модель Леви для работы с партнёрами, применявшуюся на ранних сайтах для взрослых, и то что двухфакторная идентификация впервые была изобретена для того, чтоб защитить пользователей от нежелательных порнографических email-рассылок, а не только для повышения безопасности.
Total votes 51: ↑46 and ↓5+54
Comments50

Как бороться с привычками запрограммированным людям

Reading time6 min
Views48K
Перевод статьи из микроблога биохакера Сержа Фаге.

В человеке есть запрограммированные паттерны поведения, которые всегда запускаются одним и тем же механическим, линейным способом. Так называемые «страстные желания» (англ. – cravings) – вещи и занятия, которые очень хочется начать делать в определённые моменты времени.

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


Читать дальше →
Total votes 59: ↑46 and ↓13+51
Comments121

Почему Rust должен стать функциональным языком программирования

Reading time5 min
Views14K
Привет, Хабр!

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

  1. Для императивной реализации — выигрыш от Rust получился всего 20 %. Это означает, что JVM вплотную приблизилась к нативной производительности, и тут уже нечего улучшать.
  2. Для функциональной реализации — Rust оказался быстрее в 4.5 раза, потребление памяти снизилось в 5.5 раза, а отсутствие сборщика мусора сделало программу более стабильной (меньше разброс показателей). Это интересно для тех, кто хочет писать быстрые функциональные программы.
  3. Концепция единственного владельца данных (и единственной мутабельной ссылки), принятая в Rust, очень близка концепции иммутабельности, в результате чего функциональные алгоритмы, основанные на неизменяемости, рекурсии и копировании, легко ложатся на Rust практически без переписывания, тогда как императивные алгоритмы заставляют редизайнить код, учитывать мутабельность ссылок, времена жизни, и т.д.

Вывод — Rust как будто специально создан для ФП, хотя возможности его синтаксиса пока не дотягивают до Scala.
Читать дальше →
Total votes 26: ↑21 and ↓5+24
Comments228

Эксперимент VonmoTrade. Часть 3: Книга ордеров. Обработка и хранение торговой информации

Reading time6 min
Views5.2K


В прошлой статье цикла мы познакомились с типами биржевых заявок. Сегодня мы разберем книгу ордеров, обработку заявок и вопросы связанные с организацией хранения торговой информации.

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments6

Privacy by design, или как создать приложение, чтобы не вылететь с маркетов

Reading time10 min
Views3K

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


Это ставит перед разработчиками много вопросов, на которые надо срочно искать ответы:


● Как создать «безопасное» приложение?
● Что такое вообще эта ваша приватность?
● И почему вокруг этой темы так много шумихи в последнее время?


Чтобы разобраться во всем этом, мы побеседовали с экспертами по защите персональных данных Джейсоном Кронком, США, и Сергеем Воронкевичем, СНГ.


image


Джейсон Кронк CIPP/US, CIPT, CIPM, FIP — автор книги «Strategic Privacy by Design», эксперт и тренер по проектированию защиты персональных данных. Cпикер и автор IAPP, Privacy and Security Forum, Intel Security Conference. Приглашенный лектор Florida State University и Indiana University. Сертифицированный профессионал (CIPP/US), технолог (CIPT) и менеджер (CIPM) в сфере приватности. Биография.



Сергей Воронкевич
CIPP/E, CIPM, MBA — Тренер и ведущий консультант консалтинговой компании в области защиты персональных данных Data Privacy Office. Сертифицированный менеджер в сфере информационной приватности (CIPM) и сертифицированный профессионал в этой же
сфере (CIPP/E). Биография.



Что такое приватность?

Читать дальше →
Total votes 4: ↑3 and ↓1+5
Comments0

Отправляем письма с помощью asyncio и aiohttp из Django приложения

Reading time7 min
Views12K
Всем привет!

Я занимаюсь разработкой и поддержкой сервиса уведомлений в Ostrovok.ru. Сервис написан на Python3 и Django. Помимо транзакционных писем, пушей и сообщений, сервис также берёт на себя задачи по массовым рассылкам коммерческих предложений (не спам! trust me, отписки у нас работают лучше подписок) пользователям, давшим на это согласие. Со временем база активных получателей разрослась до более миллиона адресов, к чему почтовый сервис не был готов. Я хочу рассказать о том, как новые возможности Python позволили ускорить массовые рассылки и сэкономить ресурсы и с какими проблемами нам пришлось столкнуться при работе с ними.


Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments4

Как сделать свой автоскейлер для кластера

Reading time7 min
Views1.8K

Привет! Мы обучаем людей работе с большими данными. Невозможно себе представить образовательную программу по большим данным без своего кластера, на котором все участники совместно работают. По этой причине на нашей программе он всегда есть :) Мы занимаемся его настройкой, тюнингом и администрированием, а ребята непосредственно запускают там MapReduce-джобы и пользуются Spark'ом.


В этом посте мы расскажем, как мы решали проблему неравномерной загрузки кластера, написав свой автоскейлер, используя облако Mail.ru Cloud Solutions.

Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments3

Функциональное программирование с точки зрения EcmaScript. Рекурсия и её виды

Reading time4 min
Views11K
Привет, Хабр!

Сегодня мы продолжим наши изыскания на тему функционального программирования в разрезе EcmaScript, на спецификации которого основан JavaScript. В предыдущих статьях цикла были рассмотрены следующие темы:

  1. Чистые функции, лямбды, имутабельность
  2. Композиция, каррирование, частичное применение
Читать дальше →
Total votes 5: ↑2 and ↓3+1
Comments17

Java-дайджест за 27 декабря

Reading time5 min
Views6.1K


  • Рон Пресслер собрал и выложил новый «официальный» прототип Project Loom (файберы для Java). В качестве основы используется JDK 14. Скачать можно здесь, прочитать анонc можно здесь. Люди потихоньку начинают втягиваться в тему, и на GitHub уже лежит несколько проектов, использующих Loom: Loom Date Server, Fibry (реализация акторов с поддержкой файберов), RxJavaFiberInterop (мост между RxJava 3 и Loom), и пара примеров использования Loom (раз, два). На всякий случай напоминаю, что Рон есть на Reddit, временами он пишет туда анонсы и оставляет хорошие развернутые комментарии.


  • InfernoPlus опубликовали видео про то, как сделали фанатскую игру в жанре Battle Royale про Super Mario, которая неожиданно хайпанула. На бэке там были Java + Tomcat. Конец истории: авторам позвонили из Nintendo и пообещали засудить, из-за чего игрушку пришлось убить.

Читать дальше →
Total votes 25: ↑24 and ↓1+30
Comments4

StackOverflow — больше, чем просто хранилище ответов на глупые вопросы

Reading time4 min
Views25K
Этот текст задуман и написан как дополнение к «Чему я научился за 10 лет на Stack Overflow».

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


Я решился написать эту заметку потому, что за семь лет, проведенные на SO, я достаточно хорошо изучил сообщество изнутри. Я ответил на 3516 вопросов, задал 58, вошел в hall of fame (top 20 во всем мире) в обоих языках, на которых пишу постоянно, подружился со многими умными людьми, и активно пользуюсь, пожалуй, всеми возможностями, предоставляемыми сайтом.


Каждое утро, за утренним кофе, я открываю ленту новостей, twitter, и — SO. И я считаю, что этот сайт может дать разработчику гораздо больше, чем сниппет для копипаста, заботливо предложенный DuckDuckGo.

Неочевидные преимущества активного членства на SO
Total votes 43: ↑39 and ↓4+43
Comments113

Как прошла конференция @Kubernetes 29 ноября: видео и итоги

Reading time4 min
Views3.3K


29 ноября прошла конференция @Kubernetes, организованная Mail.ru Cloud Solutions. Конференция выросла из митапов @Kubernetes — и стала четвёртым событием серии. Мы собрали в Mail.ru Group более 350 участников — чтобы обсудить самые актуальные проблемы с теми, кто вместе с нами делает экосистему Kubernetes в России.

Под катом видео докладов конференции — как Tinkoff.ru писали свой Infrastructure Provider BareMetal, как поднимали Kubernetes в эксплуатации Mail.ru Group, интерактив про загадки Helm с его RollingUpdate — и много другого интересного в выступлениях CarPrice, Eldorado.ru, «Росгосстрах», Brain4Net, — а также конкурс для будущих спикеров @Kubernetes.
Видео и итоги @Kubernetes Conference
Total votes 38: ↑38 and ↓0+38
Comments0

Ты только посмотри! 20 фильмов о науке и ученых

Reading time4 min
Views59K
Команда конференции Mieloconf подготовила подборку классных фильмов о науке и ученых для долгих новогодних каникул.

Про свои любимые фильмы рассказали: AI-евангелист ABBYY, автор подкаста «Проветримся» Иван Ямщиков, физик-ядерщик Дмитрий Горчаков, руководитель инфраструктурной команды в «Контуре» Алексей Кирпичников и программист Павел Аргентов.


Читать дальше →
Total votes 31: ↑28 and ↓3+36
Comments42

3. Elastic stack: анализ security логов. Дашборды

Reading time6 min
Views10K


В прошлых статьях мы немного ознакомились со стеком elk и настройкой конфигурационного файла Logstash для парсера логов, в данной статье перейдем к самому важному с точки зрения аналитики, то что вы хотите увидеть от системы и ради чего все создавалось — это графики и таблицы объединенные в дашборды. Сегодня мы поближе ознакомимся с системой визуализации Kibana, рассмотрим как создавать графики, таблицы, и в результате построим простенький дашборд на основе логов с межсетевого экрана Check Point.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments0
1
23 ...

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Registered
Activity