Pull to refresh
8
0
John Galt @ffibonacci

Software Engineer

Send message

Микросервисная архитектура, Spring Cloud и Docker

Reading time14 min
Views259K

Привет, Хабр. В этой статье я кратко расскажу о деталях реализации микросервисной архитектуры с использованием инструментов, которые предоставляет Spring Cloud на примере простого концепт-пруф приложения.



Код доступен для ознакомления на гитхабе. Образы опубликованы на докерхабе, весь зоопарк стартует одной командой.

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

Как работают реляционные базы данных (Часть 1)

Reading time14 min
Views65K

Привет, Хабр! Представляю вашему вниманию перевод статьи
"How does a relational database work".


Когда дело доходит до реляционных баз данных я не могу не думать, что чего-то не хватает. Они используются везде. Существует множество различных баз данных: от небольшого и полезного SQLite до мощной Teradata. Но есть только несколько статей, которые объясняют, как работает база данных. Вы можете искать сами по запросу "howdoesarelationaldatabasework" («как работают реляционные базы данных») чтобы увидеть, как мало результатов. Более того, эти статьи — короткие. Если же вы ищете последние модные технологии (BigData, NoSQL или JavaScript), вы найдете больше углубленных статей, объясняющих, как они работают.


Являются ли реляционные базы данных слишком старыми и слишком скучными, чтобы их можно было объяснить вне университетских курсов, исследовательских работ и книг?


image

Читать дальше →
Total votes 48: ↑31 and ↓17+29
Comments7

8 важных веб-приложений для разработчиков

Reading time3 min
Views21K
Предлагаем вам познакомиться с переводом статьи Jamie Bullock, опубликованной на сайте medium.com. Автор рассказывает, какие веб-приложения он обычно использует в работе.

Читать дальше →
Total votes 26: ↑16 and ↓10+11
Comments8

Рендеринг веб сайтов 101

Reading time7 min
Views47K
Вы вводите название сайта в адресную строку браузера, нажимаете enter, и по привычке видите запрашиваемую страницу. Все просто: ввел название сайта — сайт отобразился. Однако для более любознательных хочу рассказать, что происходит между тем как браузер начинает получать куски сайта (да, сайт приходит кусками, по-другому — чанками) и отображает полностью нарисованную страницу.


Total votes 14: ↑11 and ↓3+12
Comments9

10 популярных вопросов на собеседовании по TypeScript (с краткими ответами)

Reading time2 min
Views36K


1. Для чего нужен тип «Omit»?


Ответ: Это новый тип, в котором можно указать свойства, которые будут исключены из исходного типа.


Пример:


type Person = { name: string; age: number; location: string; };
type QuantumPerson = Omit<Person, 'location'>; // Аналогично следующей строке
QuantumPerson = { name: string; age: number; };
Читать дальше →
Total votes 18: ↑10 and ↓8+8
Comments12

Hack The Box — прохождение Player. FFmpeg эксплоит, JWT и различные веб перечисления

Reading time4 min
Views11K
image

Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье пройдем JWT, выполним такие веб-перечисления, как поиск дирректорий, поддоменов и файлов бэкапа, проэксплуатируем SSRF в кодере FFmpeg и RCE в SSH.

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

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

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

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

Бот для мониторинга веб-сервисов за полчаса: telegram + bash + cron

Reading time8 min
Views42K


Иногда нужно быстро сделать мониторинг для нового сервиса, а готовой инфраструктуры/экспертизы под рукой нет. В этом гайде мы за полчаса реализуем инструмент для мониторинга любых веб-сервисов, используя только встроенные средства ubuntu: bash, cron и curl. Для доставки оповещений будем использовать telegram.

«Вишенкой на торте» будет эмоциональное вовлечение пользователей. Проверено на людях — работает.
Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments15

Как ханипоты деанонимизируют хакеров и онлайн-мошенников

Reading time5 min
Views10K


Ханипот – это утилита, которая служит в качестве приманки, и представляет с виду соблазнительную цель для атакующего и искушает его к раскрытию самого себя. В то время как продвинутые ханипоты спроектированы для более простого обнаружения и изучения типов атак, используемых хакерами в естественных условиях, современные ханипоты на основе URL-отслеживания развились до гибкого и удобного для пользователя инструмента, который часто используют обычные люди для выявления онлайн-мошенников.
Читать дальше →
Total votes 10: ↑8 and ↓2+7
Comments0

Что такое *args и **kwargs в Python?

Reading time4 min
Views390K
Функции — это жизнь. Правда? Если вы только начали осваивать Python, неважно — первый ли это ваш язык программирования, или вы пришли в Python из другого языка, то вы уже знаете о том, что количество параметров в объявлении функции соответствует количеству аргументов, которые передают функции при вызове.



Это — основы. Это то, что помогает людям понимать окружающий мир. Но утверждение «количество параметров равно количеству аргументов» закладывает в голову новичка бомбу замедленного действия, которая срабатывает после того, как он увидит в объявлении функции таинственные конструкции *args или **kwargs.

Не позволяйте всяким значкам загонять себя в ступор. Тут нет ничего архисложного. В общем-то, если эти конструкции вам незнакомы — предлагаю с ними разобраться.
Читать дальше →
Total votes 39: ↑32 and ↓7+44
Comments15

Введение в архитектуру безопасности 5G: NFV, ключи и 2 аутентификации

Reading time17 min
Views12K
image

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

Архитектура безопасности 5G — совокупность механизмов и процедур безопасности, реализованных в сетях 5-го поколения и охватывающих все компоненты сети, начиная от ядра и заканчивая радиоинтерфейсами.

Сети 5-ого поколения являются, по сути своей, эволюцией сетей 4-ого поколения LTE. Самым значительным изменениям подверглись технологии радиодоступа. Для сетей 5-ого поколения была разработана новая RAT (Radio Access Technology) — 5G New Radio. Что касается ядра сети, оно претерпело не такие значительные изменения. В связи с этим, архитектура безопасности 5G-сетей была разработана с упором на переиспользование соответствующих технологий, принятых в стандарте 4G LTE.

Однако, стоит отметить, что переосмысление таких известных угроз, как атаки на радиоинтерфейсы и уровень сигнализации (signalling plane), DDOS-атаки, Man-In-The-Middle атаки и др., побудило операторов связи разработать новые стандарты и интегрировать совершенно новые механизмы безопасности в сети 5-ого поколения.
Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments0

Витамин D. Краткий экскурс

Reading time8 min
Views118K
Приветствую всех Хаброжителей!

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

Если мой пост что называется «зайдёт», я планирую осветить ещё некоторые интересные, на мой взгляд, темы, связанные с медициной, фармацией и здоровьем.

Пишу простым языком, с минимумом медицинской и фармацевтической терминологии.
Читать дальше →
Total votes 83: ↑65 and ↓18+66
Comments386

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

Reading time6 min
Views205K


Реквизиты паспорта — не просто набор цифр, в них закодирован вагон информации. Если правильно расшифровывать и сопоставлять реквизиты, подозрительные документы мгновенно всплывут на поверхность. Продукты HFLabs уже 14 лет проверяют клиентские данные в банках, страховых, телекомах и другом крупном бизнесе. Расскажу, как мы распознаем ошибки в российских паспортах.
Читать дальше →
Total votes 100: ↑98 and ↓2+130
Comments258

5 распространенных ошибок начинающих программистов на Python

Reading time4 min
Views49K
В первые дни работы программистом на Python все мы сталкиваемся с разными типами багов в нашем коде, которые после нескольких болезненных часов в StackOverflow оказываются не багом, а фичей Python'а. Ниже приведены 5 самых распространенных ошибок, которые делают большинство начинающих программистов на Python. Давайте немного о них узнаем, чтобы сэкономить несколько часов, задавая вопросы на страницах и в группах в Facebook.
Читать дальше →
Total votes 56: ↑42 and ↓14+28
Comments69

Пентест-лаборатория «Pentestit Test lab 12» — полное прохождение

Reading time21 min
Views25K
image

Каждый год компания Pentestit запускает новую лабораторию для тестирования на проникновение «Test Lab», и данная статья будет посвящена прохождению 12-ой лаборатории, получившей название «z 9r347 39u411z3r» или если раскодировать — «The great equalizer».

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

Подключение к лаборатории


Подключение к лаборатории происходит через VPN-соединение (так как я проходил лабораторию на машине под управлением ОС Linux, то все действия будут описаны именно для этой платформы). Для того чтобы попасть в частную сеть, необходимо выполнить следующие шаги:

  1. Зарегистрироваться здесь.
  2. Сохранить конфигурационный файлы отсюда.
  3. Зайти в настройки сети и выбрать «добавить VPN».
  4. Импортировать из файла (указываем скачанный файл с конфигурациями).
  5. Указать логин и пароль для подключения (даны на вкладке «how to connect»).
  6. Подключаемся к VPN и пингуем шлюз 192.168.101.1. Если пинг проходит, то вы успешно подключились к лаборатории.

Поиск цели


Нам доступна сеть 192.168.101.X с маской 255.255.255.0. Первым делом необходимо найти «живые хосты» в сети. Сделать это легко можно с помощью утилиты nmap:
nmap -sn 192.168.101.0/24
Используемые параметры nmap
-sn – определить «живые хосты»
ip/mask – адрес сети / маска

image
Читать дальше →
Total votes 34: ↑24 and ↓10+14
Comments3

Возможности Python 3, достойные того, чтобы ими пользовались

Reading time5 min
Views44K
Многие программисты начали переходить со второй версии Python на третью из-за того, что уже довольно скоро поддержка Python 2 будет прекращена. Автор статьи, перевод которой мы публикуем, отмечает, что основной объём Python 3-кода, который ему доводилось видеть, выглядит как код со скобками, написанный на Python 2. По его словам, он и сам грешит чем-то подобным. Здесь он приводит примеры некоторых замечательных возможностей, доступных лишь тем, кто пользуется Python 3. Он надеется, что эти возможности облегчат жизнь тем, кто о них узнает.



Все примеры, приведённые в этом материале, написаны с использованием Python 3.7. В описании каждой возможности имеются сведения о минимальной версии Python, необходимой для её применения.
Читать дальше →
Total votes 77: ↑76 and ↓1+75
Comments82

Information

Rating
Does not participate
Registered
Activity

Specialization

Software Developer, Backend Developer
Junior
From 1,300 $
Java
Spring Boot
Docker
Python
Linux
Git
PostgreSQL
MongoDB
Bash
Unix