Search
Write a publication
Pull to refresh
2
0
Константин @ConstOrVar

Разработчик мобильных приложений

Send message

Польза создания однородных задач для параллельного вычисления

Level of difficultyEasy
Reading time14 min
Views3.5K

Как правильно использовать возможности параллельного программирования?
Зачем программистам математика и зачем знать алгоритмы?

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

Весь код из статьи находится здесь.

Читать далее

LAN-party для пентестеров: прорываемся к домен контроллеру через розетку

Level of difficultyMedium
Reading time7 min
Views22K


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


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

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

Как устроены сети: полезные материалы от сотрудников Selectel

Reading time4 min
Views23K

Фрагмент из курса «Сети для самых маленьких».

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

Память как у пингвина: Работа памяти в Linux

Level of difficultyEasy
Reading time20 min
Views38K

Что такое память и какие они бывают в Linux? Как с ней взаимодействовать? Каковы её особенности?

Как реализована память в ядре Linux? Как с ней работать?

Что такое кластеры, откуда в ядре Linux грязные и чистые страницы - читайте в этой статье!

Читать далее

Под покровом невидимого: искусство тестирования на проникновение

Level of difficultyEasy
Reading time5 min
Views8.6K

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

Тестирование на проникновение — это процесс активного поиска уязвимостей в компьютерных системах и сетях. Через проведение специализированных атак и обнаружение слабых мест, эксперты по тестированию на проникновение имитируют действия злоумышленников с целью выявить возможности незаконного доступа к данным или инфраструктуре организации. Эта методика является неотъемлемой частью работы по обеспечению безопасности информационных систем и помогает предотвратить потенциальные угрозы со стороны хакеров или злоумышленников.

Читать далее

Как начать карьеру в пентесте: опыт сотрудника Angara Security

Level of difficultyEasy
Reading time10 min
Views18K

Мы продолжаем цикл материалов о старте карьеры в кибербезопасности.
Эту публикацию подготовил сотрудник отдела анализа защищенности Angara Security, по просьбе автора, мы не будем раскрывать его имя. Если после прочтения статьи будут вопросы, welcome в комментарии или в личные сообщения нашему эксперту. Итак, как вкатиться в пентест в 2024 году.

Всем привет! Я @the_ospf, работаю в команде анализа защищенности Angara Security. Мы занимаемся пентестом ИБ-инфраструктуры крупных и средних компаний, тестируем web- и мобильные приложения. В этой статье я расскажу о своем пути от начинающего специалиста до эксперта по анализу защищенности, как я собирал необходимый багаж знаний, своих ошибках и поделюсь материалами, которые помогут вам в подготовке для вашего первого трудоустройства в качестве специалиста по анализу защищенности веб-приложений.

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

Читать далее

Инфраструктурный пентест по шагам: инструменты, методологии и разведка

Level of difficultyEasy
Reading time9 min
Views56K


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


Начнем с теории — того, по каким схемам действуют хакеры и как знание этих шаблонов помогает в работе пентестера. Затем перейдем к выбору операционных систем и полезным фреймворкам. Рассмотрим гаджеты, которые чаще всего применяются на практике во время атак на организации. Закончим разбором и анализом UDP и TCP-портов, через которые можно захватить первую учетную запись в чужой инфраструктуре.

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

Какие баги мы заложили в онлайн-банк на PHDays 12: разбор конкурса $NATCH

Level of difficultyMedium
Reading time13 min
Views1.5K

Всем привет! Если помните, в этом году Positive Hack Days 12 предстал перед нами в новом формате: помимо традиционной закрытой зоны появилось доступное для всех публичное пространство — кибергород, где посетители узнали, как не стать жертвами мошенников на маркетплейсах, а также об особенностях ChatGPT, выборе безопасного VPN и других аспектах ИТ и ИБ. Неизменной частью киберфестиваля остались его конкурсы. Один из них — конкурс по поиску уязвимостей в онлайн-банке. Год назад мы захотели попробовать новый формат в виде Payment Village, но в этот раз решили вернуться к истокам — конкурсу $NATCH, применив новую концепцию! Белым хакерам мы предложили испытать на прочность созданную для конкурса банковскую экосистему (нет, последнее слово не оговорка, но об этом поговорим позже). Специалисты по информационной безопасности искали банковские (и не только) уязвимости в предоставленной системе и сдавали отчеты через багбаунти-платформу, затем организаторы оценивали найденные уязвимости и присваивали им соответствующий уровень опасности — мы хотели, чтобы участники почувствовали себя настоящими исследователями безопасности.

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

Далее

Поговорим об оптимизирующих компиляторах. Сказ седьмой: борьба с проверками диапазонов

Level of difficultyMedium
Reading time10 min
Views6.8K

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

Читать далее

Устройство кучи для прожженных самоваров. Часть 1

Level of difficultyEasy
Reading time3 min
Views4.3K

В реалиях нашего мира, программисты пользуются ООП и препочитают динамическую память, а не статическую. В нашей жизни, вне CTF, все работает именно в куче, потому что это удобно и практично. Речь пойдет о динамической памяти - куча (heap). Если взглянуть на статистику cvedetails, то можно увидеть, что большинство критических уязвимостей связаны именно с динамической памятью.

В цикле статей будет рассказано об устройстве кучи, атаках на них и все в духе бинарной эксплуатации.

Читать далее

Ещё раз про алгоритм сжатия Хаффмана

Level of difficultyHard
Reading time21 min
Views21K

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

Читать далее

Практический видеокурс Школы информационной безопасности

Reading time3 min
Views34K
Нет смысла лишний раз напоминать, почему при разработке сервисов важно уделять внимание безопасности. Поговорим о том, как строить системы защиты, поддерживать их в актуальном состоянии и развивать с увеличением числа угроз. Довольно много практических знаний по этой теме можно получить из интернета. Теория, в свою очередь, неплохо освещается в нескольких российских вузах. Есть и множество полезной литературы. Но хорошего специалиста по безопасности отличает не просто знание инструментов и теории, а способность применять теорию в реальных ситуациях.

В апреле этого года мы впервые провели бесплатную Школу информационной безопасности. Лекции в школе подготовили и прочитали сотрудники службы ИБ Яндекса — те специалисты, которые непосредственно отвечают за защиту наших продуктов. Мы получили более 700 заявок, 35 человек успешно закончили школу, 9 из них получили офферы в Яндекс (7 — на позицию стажёра, 2 — на штатную позицию).

Сегодня мы публикуем видеокурс со всеми лекциями Школы. Вы можете почерпнуть те же знания, что и студенты — разве что интерактива поменьше и не нужно делать домашнее задание. Для просмотра стоит знать хотя бы один язык программирования (JS, Python, C++, Java), на начальном уровне разбираться в принципах построения и работы веб-приложений, понимать принципы работы операционных систем и сетевой инфраструктуры, а также основные типы атак и виды уязвимостей.


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

Распределённые транзакции

Level of difficultyMedium
Reading time10 min
Views61K

На собеседованиях на позицию middle/senior разработчика часто задают вопросы по распределенным транзакциям в микросервисной архитектуре.

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

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

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

Читать далее

Майнд-карта успешной физической трансформации. Питание. Тренировки. Мотивация

Reading time7 min
Views11K

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

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

Успехов тебе!

Читать далее

Поиск лишних Component Dependencies с помощью Dagger SPI

Level of difficultyMedium
Reading time10 min
Views2.7K

Многие из Android-разработчиков для Dependency Injection используют Dagger или его «обёртку» Hilt. Но не многие из них используют Dagger SPI. Этот механизм предоставляет нам доступ к графу зависимостей, что позволяет нам добавить свои проверки графа и не только. В этой статье я хочу рассмотреть работу с Dagger SPI на примере поиска неиспользуемых Component Dependencies. После прочтения статьи вы сможете находить их, или при желании сможете писать свои проверки графа зависимостей. Ну или что вам там в голову взбредёт. 

Читать далее

Измеряя sequences

Level of difficultyHard
Reading time38 min
Views6.9K

Измерение sequences в сравнении с обычными коллекциями. Смотрим под капот и разбираемся, как работают sequences и за счет чего мы получаем выигрыш в производительности.

Много кода и теории...

Читать далее

Ломаем Android. Русификация китайских авто

Level of difficultyMedium
Reading time8 min
Views58K

Как я ломаю и кастомизирую Android и как я до этого дошел.

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

Читать с удовольствием

Поговорим об оптимизирующих компиляторах. Сказ шестой: цикловые инварианты

Level of difficultyMedium
Reading time12 min
Views7K

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

Читать далее

Разделяй и властвуй. Повышение эффективности алгоритмов. Часть 3

Level of difficultyMedium
Reading time9 min
Views2.5K

В прошлой части мы рассмотрели общий подход к расчету эффективности алгоритмов с принципом "разделяй и властвуй", а также применение принципа к различным базовым алгоритмам.
Сегодня поговорим о следующем приеме. Как известно, составная часть принципа, это поделить задачу на подзадачи. Мы ни разу не касались, как именно делить. Просто делили на равные части. Но тут вот и есть нюанс, если поделить не абы как, а используя какую-то стратегию, то можно добиться применения принципа там, где это даже не очевидно. И именно эта тема станет предметом данной статьи на примере задачи умножения полиномов.
Как и в предыдущих частях, я упрощаю математическую часть, опуская различные нюансы и частные случаи, с целью сохранить научно-популярный характер публикации. При этом я пытаюсь сохранить основные элементы алгоритмов и математических основ. Я хочу подать информацию в кратком доступном виде, в виде математического пересказа, и если у кого-либо возникнет интерес, тот может легко найти полные и строгие математические выкладки по данной теме.

Читать далее

Как я перестал волноваться и полюбил ошибки в Kotlin корутинах: Мифы обработки ошибок в корутинах

Level of difficultyHard
Reading time6 min
Views12K

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

Читать далее

Information

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