Блог Информационная безопасность | OTUS
⚡ Открываем подписку на курсы!
Проходите параллельно 3 онлайн-курса в месяц по цене одного.
Подробнее

Курсы

Программирование
Flutter Mobile Developer Подготовка к сертификации Oracle Java Programmer (OCAJP)
-8%
Алгоритмы и структуры данных
-12%
Web-разработчик на Python
-11%
Архитектура и шаблоны проектирования
-14%
JavaScript Developer. Basic Супер-интенсив «СУБД в высоконагруженных системах»
-18%
iOS-разработчик. Базовый курс
-23%
Разработчик на Spring Framework
-23%
Python Developer. Basic
-16%
C# ASP.NET Core разработчик
-18%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
JavaScript Developer. Professional
-9%
Android Developer. Basic
-10%
C++ Developer. Professional MS SQL Server Developer Cloud Solution Architecture Highload Architect Reverse-Engineering. Professional CI/CD Vue.js разработчик Agile Project Manager Нереляционные базы данных Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Advanced Fullstack JavaScript developer
Инфраструктура
PostgreSQL
-10%
IoT-разработчик
-12%
Administrator Linux. Professional
-11%
Базы данных
-19%
Administrator Linux.Basic
-18%
Супер-интенсив «СУБД в высоконагруженных системах»
-18%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-6%
Сетевой инженер AWS для разработчиков Software Architect Reverse-Engineering. Professional CI/CD VOIP инженер Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02
Посты
Как защитить веб-сервер?

Если у вас есть сервер c ОС Linux — Apache или nginx, и вы желаете разместить на нём web-сайт, в первую очередь следует подумать о его защите. При этом с точки зрения информационной безопасности не столь важно, какой именно ресурс вы планируете запустить — интернет-магазин, развлекательный портал или информационный сайт — действия по защите будут схожими. О них и поговорим.

Инициализация переменных в ассемблерном коде

Переменные являются одними из основных составляющих программирования. Давайте посмотрим, как происходит инициализация переменных в машинном коде.

Вызов функций: как это выглядит в машинном коде

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

Циклы в ассемблерном графе

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

Понятие многопоточности для реверс-инженера

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

Программирование сокетов в контексте реверс-инжиниринга

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

Комплексные инструменты пентестера

Как специалисту по пентесту понять, что перед ним уязвимый проект? Давайте рассмотрим три популярных комплексных инструмента — программы, которые отличаются расширенной функциональностью, что позволяет использовать их для комплексной проверки возможных уязвимостей.

Глушим неприятельскую сеть Wi-Fi

Pentest_Deep_7.4-5020-7b7f0b.png

В практике пентестера порой встречаются задачи, при которых надо заглушить тестируемую сеть Wi-Fi для разных целей. Как это сделать, мы поговорим в нашей статье.

Реверс-инженеру на заметку: дизассемблирование указателей

Revers_Deep_7.4-5020-d53e4b.png

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