.NET Kings

.NET Kings

Аудитория: 8 380 подписчиков
Категория: Курсы и гайды
Если вам интересны: осинт, нетсталкинг, анонимность - этот канал для вас.

Поддержать проект: @v_meshke
По рекламе: @Molzka

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

Статистика канала

8 380 подписчиков

Последние посты

.NET Kings
Превью публикации
👁‍🗨Hello world~Intel Boot Guard: Защита загрузки или отсутствие свободы• Intel Boot Guard — это технология, реализованная на уровне микропрограммы платформы (PCH), предназначенная для верификации первого кода, выполняемого при старте системы (обычно это BIOS/UEFI).• Intel Boot Guard идет до Secure Boot и проверяет цифровую подпись BIOS/UEFI ещё до её исполнения. Это делает невозможным запуск поддельной или модифицированной прошивки без соответствующего разрешения.• Форматы работы Boot Guard: • Verified Boot: Только проверка подписи (без логирования). • Measured Boot: Проверка + отправка хеша в TPM (для контроля целостности системой).• Boot Guard может блокировать установку альтернативных прошивок, если активирован в Verified Boot Mode с включёнными FPF. То есть нельзя установить условные libreboot/coreboot.• Отключить Boot Guard невозможно, так что подходите к выбору материнок внимательно, если хотите поставить кастомную прошивку. Удачи!• Поддержать автора монеткой: @v_meshke
2 780
.NET Kings
Превью публикации
👁‍🗨Hello world~Защита веб-приложений: Безопасность AJAX на клиенте• Хоть мой канал в основном про пентест и редтиминг, мне захотелось так же делать посты не про то, как нападать, но и про то, как защищаться, это первый пост такого рода. Информация взята из OWASP Cheat Sheet. Приятного чтения!• Для начала, тем кто не знает или забыл: AJAX (Asynchronous JavaScript and XML) — это технология, позволяющая обмениваться данными с сервером без перезагрузки страницы.• Защита AJAX делится на клиентскую (JS) и серверную части, этим постом мы разберем только клиента.• При написании кода избегайте .innerHTML и используйте .innerText вместо него. .innerText автоматически экранирует текст, что предотвращает большинство XSS уязвимостей.• Не используйте eval(), new Function() и другие инструменты выполнения кода, такие функции почти всегда указывают на проблемы в архитектуре кода.• При вставке данных в HTML, JavaScript, CSS, XML или JSON убедитесь, что они правильно экранированы, чтобы избежать инъекций.• Не полагайтесь на клиентскую логику для безопасности. Пользователь может изменять JS, поэтому критичные проверки должны выполняться на сервере.• Важные бизнес правила должны дублироваться на сервере, чтобы пользователи не могли их обойти.• Не реализуйте алгоритмы преобразования объектов в строки самостоятельно. Не пишите функции по типу:function serializeUser(user) { return `{"name":"${user.name}","age":${user.age}}`;}• Используйте стандартные библиотеки:const userData = { name: "Alice", age: 25 };const jsonString = JSON.stringify(userData);• Избегайте динамической сборки XML/JSON. Чем-то похоже на прошлый пункт, но отличается смыслом. Суть: Не конкатенируйте строки для создания JSON/XML, даже если используете библиотеки.• Как НЕ делать:const json = `{"user": "${getUserInput()}"}`;• Как делать:const data = { user: getUserInput() };const json = JSON.stringify(data);• Очевидно реализуйте защиту от XSS и SQL-инъекций, для первого экранируйте символы, для второго используйте ORM.• Не передавайте секреты клиенту, особенно это касается условных JWT токенов.• Не шифруйте данные на стороне клиента, передавайте данные на сервер (очевидно с TLS/SSL), а там уже шифруйте.• Общее правило: Всё, что влияет на безопасность, должно проверяться сервером. Удачи!• Поддержать автора монеткой: @v_meshke
4 070
.NET Kings
Превью публикации
👁‍🗨Hello world~Компоновщик: Как из кода получается программаЧасть 2: Основные типы данных• В прошлый раз мы узнали что такое компоновщик, сегодня начинаем разбираться в его внутренностях. Этот пост будет длинным.• Компоновщик работает с небольшим количеством базовых типов данных: символы, перемещения (релокации) и содержимое (секции). Они определяются во входных объектных файлах.• Символ — это именованные сущности, которые представляют функции, переменные и другие объекты в программе.• Например, в объектном файле, сгенерированном из кода на C, будет символ для каждой функции, а также для каждой глобальной и статической переменной. Значение такого символа просто смещение внутри содержимого, такой тип называется определённым символом.• Символы также используются для указания ссылки на имя, определённое в другом объектном файле. Такая ссылка называется неопределённым символом (существуют и другие типы символов). В процессе компоновки, компоновщик назначает адрес каждому определённому символу и разрешает каждый неопределённый символ, находя соответствующий определённый символ с таким же именем.• Перемещения (релокации) — это инструкции для линкера о том, как исправить адреса в коде после размещения секций в памяти. Большинство релокаций ссылаются на символ и на смещение внутри содержимого. Простая и часто используемая релокация выглядит так: "установи это место в содержимом в значение этого символа плюс этот аддитив". В процессе компоновки, компоновщик выполняет все указанные релокационные вычисления.• Содержимое (секции) — это то, как должна выглядеть память во время выполнения программы. Оно имеет размер, массив байтов и тип. В него входят: • Машинный код, сгенерированный компилятором и ассемблером (текст, .text). • Значения инициализированных переменных (данные, .data). • Статические безымянные данные, такие как строковые константы и таблицы переходов (только для чтения, .rodata). • Неинициализированные переменные, в этом случае массив байтов обычно опускается и считается заполненным нулями (BSS, .bss).• Все эти типы вы могли видеть, если пытались дизассемблировать любую программу.• Компилятор и ассемблер формируют нужное содержимое, но компоновщик, по сути, не анализирует его, а работает с ним как с сырыми данными. Компоновщик читает содержимое из каждого файла, объединяет его, сортируя по типам, применяет релокации и записывает результат в исполняемый файл.• Уже на этом этапе можно понять основные шаги, которые выполняет любой компоновщик: • Чтение входных объектных файлов. • Построение таблицы символов. • Определение расположения содержимого в выходном исполняемом файле. • Чтение данных содержимого и релокаций. • Запись полной таблицы символов (но это не обязательно).• Удачи!• Поддержать автора монеткой: @v_meshke
3 560
.NET Kings
Превью публикации
👁‍🗨Hello world~Broken Access Control: Уязвимость управления доступом• Broken Access Control — это одна из самых распространённых уязвимостей в веб-приложениях, позволяющая получить несанкционированный доступ к данным, действиям или функциям, которые должны быть запрещены. Сейчас эта уязвимость входит в OWASP Top 10 и находится при этом на 1 месте.• Разберемся чуть подробнее. Access Control (Управление доступом) — это механизм, определяющий, что пользователь может видеть и делать в приложении. Например есть ли у любого, даже неавторизированного пользователя доступ к API, можно ли как-то взаимодействовать с профилями других людей и так далее. Если этот механизм настроен неправильно, это считается уязвимостью и называется Broken Access Control.• Разберем пару примеров. IDOR (Insecure Direct Object Reference).GET /user/profile?id=123• Если можно заменить id=123 на id=124 и увидеть чужой профиль — это IDOR.• Прямой доступ к привилегированным функциям.GET /admin/deleteUser?uid=4• Если обычный пользователь может перейти по этой ссылке и удалить чужого юзера — уязвимость в управлении правами.• Перехват токена другого пользователя. Если можно получить/использовать access token другого пользователя без валидации — полный захват сессии.• Для нахождения подобных уязвимостей, можно использовать различные инструменты для брута директорий (DirBuster, GooFuzz, ffuf и т.д.) или такие инструменты как Postman или Burp Suite. Удачи!• Поддержать автора монеткой: @v_meshke
4 840
.NET Kings
Превью публикации
👁‍🗨Hello world~DXE: Основной этап инициализации UEFI• DXE (Driver Execution Environment) — это этап, на котором выполняется большая часть инициализации системы, идет он после PEI фазы. PEI соответственно отвечает за инициализацию постоянной памяти в платформе, чтобы DXE мог быть загружен и выполнен.• Состояние системы на момент завершения фазы PEI передается в фазу DXE через список позиционно-независимых структур данных, называемых Hand-Off Blocks (HOB).• Фаза DXE состоит из нескольких компонентов: • DXE Foundation. Предоставляет набор сервисов: Boot Services, Runtime Services и DXE Services. • DXE Dispatcher. Отвечает за обнаружение и выполнение DXE-драйверов в правильном порядке. • Набор DXE драйверов. Инициализируют процессор, чипсет и компоненты платформы, а также предоставляют программные абстракции для системных сервисов, консольных устройств и загрузочных устройств.• На самом деле, фаза DXE не требует обязательного выполнения фазы PEI. Единственное требование для её выполнения — наличие корректного списка HOB.• Поддержать автора монеткой: @v_meshke
5 310

Оставить комментарий/отзыв

Рекомендации

Обучение Лайм

Обучение Лайм

@ob_lime
10K подписчиков

Все обучения здесь

🥭 Курс на успех | Сливки курсов

🥭 Курс на успех | Сливки курсов

Приватный
10K подписчиков

Сливки топовых курсов бесплатно.

Коучинг и менторинг от Александры Прицкер

Коучинг и менторинг от Александры Прицкер

@aleksandrapritsker
9.5K подписчиков

•MCC ICF •Founder Международного университета Global Coaching •Президент АМК «Национальная федерация профессио...

Курсы Annamama

Курсы Annamama

@annamamaclass
8.6K подписчиков

Анна Левадная, врач-педиатр, неонатолог, к.м.н Регистрируйтесь на вебинар по кишечным инфекциям - https://clc...

ᴏбучᴇниᴇ ᴏᴛ иʍᴀн✨

ᴏбучᴇниᴇ ᴏᴛ иʍᴀн✨

Приватный
8.4K подписчиков

Вᴄᴇʍ Аᴄᴄᴀᴧᴀʍу 1ᴀᴧᴀйᴋуʍ

Школа Эзотерики "Ключ Жизни"

Школа Эзотерики "Ключ Жизни"

@tarolegko
8.4K подписчиков

Доброго времени суток! С Вами Елена Бондаренко — основатель школы «Ключ Жизни», а также практикующий таролог...

ПРЕСЕТЫ Lightroom

ПРЕСЕТЫ Lightroom

@Presets_Light
8.3K подписчиков

Пресеты, курсы, обработка, гайды Связь с администратором @crazyyy_mama

🍒 Курс на успех | Чек-листы. Гайды

🍒 Курс на успех | Чек-листы. Гайды

Приватный
8.3K подписчиков

Полезные чек-листы

Образование Онлайн

Образование Онлайн

Приватный
8.2K подписчиков

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

Хранилище Образования

Хранилище Образования

@ed_lect
8.2K подписчиков

По вопросам @slivymsg