home.social

#десериализация — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #десериализация, aggregated by home.social.

  1. Цепочка гаджетов в Java и как небезопасная десериализация приводит к RCE?

    В этой статье мы узнаем, что такое chains of gadget, и рассмотрим на примерах (с картинками), как неаккуратная десериализация через нативные Java механизмы может привести к удалённому выполнению кода.

    habr.com/ru/companies/pvs-stud

    #owasp_top10 #pvsstudio #десериализация #java #уязвимость #информационная_безопасность #статистический_анализ #rce #удаленное_выполнение_кода #теория

  2. [Перевод] Уменьшаем базу данных в 2000 раз при помощи Rust (завершение)

    Сериализация По сути, мы получили косвенную базу данных в памяти. Далее нам нужно сериализовать её, чтобы проверить, как interning влияет на её постоянное хранение. Кроме того, сериализация — это важный шаг для проверки реальности заявленной экономии места. И, наконец, это ещё одна возможность для дальнейшего сжатия данных. В Rust для сериализации стандартно используется крейт serde , который мы уже использовали для импортирования входных данных в JSON. Serde изначально имеет поддержку множества форматов благодаря крейтам расширений, поэтому я решил попробовать несколько из них.

    habr.com/ru/articles/890250/

    #gzip #сериализация #десериализация #json #сжатие_данных

  3. [Перевод] Уменьшаем базу данных в 2000 раз при помощи Rust

    Этот проект на выходные начался с изучения репозитория открытых данных сети общественного транспорта Парижа, содержащего различные API для выполнения в реальном времени запросов отправления транспорта , изменений в графике движения и так далее. Моё внимание привлёк раздел о многократном использовании данных , потому что в нём были приведены внешние проекты, использующие эти открытые данные. В частности веб-сайт статуса сети RATP предоставляет удобный интерфейс для визуализации истории нарушений на линиях движения метро, сети экспрессов/поездов и трамваев. Обычный день нарушений на ratpstatus.fr . В репозитории GitHub сайта ratpstatus.fr содержатся все файлы JSON , запрашиваемые из open-data API каждые две минуты. Данные сохраняются там уже почти год. Репозиторий с 188 тысячами коммитов и более чем 10 ГБ собранных данных всего лишь в одном последнем коммите (измерено при помощи git clone --depth=1) — это определённо интересный выбор для реализации базы данных! Уточню, что в этом посте я не собираюсь критиковать эту систему. Веб-сайт статуса сети RATP — превосходный веб-сайт, мгновенно и стабильно предоставляющий полезную информацию без обычного сегодня раздувания веб-сайтов. [И нет, сайт не написан на Rust. Веб-сайт на PHP тоже может быть невероятно быстрым!] Тем не менее, размер базы данных (10 ГБ) заставил меня призадуматься: а можно ли сжать её лучше, потратив на это приемлемое количество времени (скажем выходные)? В этом подробном посте я расскажу, как использовал шаблон проектирования interning в Rust, чтобы сжать этот датасет в две тысячи раз! Мы посмотрим, как лучше структурировать сам интернер, как настроить схему данных для оптимальной работы с ним и как сделать так, чтобы сериализация использовала interning наилучшим образом. Если у вас в хранилище накопилось множество файлов JSON, то вам стоит прочитать эту статью!

    habr.com/ru/articles/889874/

    #json #десериализация #сериализация #парсинг #схема_данных

  4. modern-cpp-kafka для C++. Решаем проблемы владения и сериализации

    Идея написания этого небольшого руководства появилась у меня, когда я начал изучать одну из самых популярных библиотек для работы с Apache Kafka - modern-cpp-kafka . Однако, как водится, ничто не идеально, и порой приходиться делать самые простые вещи за библиотеку.

    habr.com/ru/articles/880094/

    #c++ #kafka #сериализация #десериализация

  5. Небезопасная десериализация в PHP: Как создать собственный эксплойт

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

    habr.com/ru/companies/jetinfos

    #php #кибербезопасность #уязвимости #десериализация #пентестинг #эксплойты #rce #phar #инъекция #безопасность_приложений

  6. Сериализация в Java. Давайте разбираться

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

    habr.com/ru/companies/pvs-stud

    #сериализация #java #теория #jvm #десериализация #программирование

  7. Десериализация VIEWSTATE: команда Solar 4RAYS изучила кибератаку азиатской группировки с «недозакрытой уязвимостью»

    В 2023 году мы запустили блог центра исследования киберугроз Solar 4RAYS, где делимся аналитикой об актуальных угрозах, результатами расследований инцидентов, полезными инструментами для реагирования на кибератаки и другими практическими материалами. Наиболее интересные исследования из блога мы публикуем и здесь, и это – одно из них. В конце прошлого года мы в команде Solar 4RAYS провели расследование атаки на российскую телеком-компанию. Её сеть была скомпрометирована азиатской APT-группировкой, которую мы назвали Obstinate Mogwai (или «Упрямый Демон» в переводе с английского). Почему "Упрямый?" Хакеры вновь и вновь проникали в атакованную организацию с помощью давно известной уязвимости десериализации ненадежных данных в параметре VIEWSTATE среды ASP.NET (далее будем называть это десериализацией VIEWSTATE). Мы смогли окончательно закрыть злоумышленникам все возможности для проникновения. Сегодня мы расскажем историю исследования уязвимости, опишем, как обнаружить подобные атаки и как на них реагировать, а в конце приведем индикаторы компрометации.

    habr.com/ru/companies/solarsec

    #кибербезопасность #киберугрозы #исследование #киберпреступность #кибератаки #форензика #forensics #атака #десериализация #уязвимость

  8. Нюансы копирования объектов в JavaScript

    Привет, Хабр! Меня зовут Александр Григоренко, я фронтенд-разработчик. В языке JavaScript ключевой сущностью является объект — структура данных, в которой хранятся значения, каждое из которых ассоциировано с уникальным ключом — строкой или значением типа Symbol . Кроме основы для работы самого языка, объекты в JavaScript — это удобный способ хранить различные данные, относящиеся к одной предметной области и структурировать эти данные через связи ключ-значение. В работе с этими структурами данных есть множество нюансов, и сегодня я хотел бы обсудить нюансы такой часто встречающейся задачи, как создание копий объектов в JavaScript.

    habr.com/ru/articles/811173/

    #объекты #javascript #копирование_объектов #клонирование_объектов #сериализация #десериализация

  9. Неочевидные угрозы: как защититься от атак на десериализацию, XSS и чтение произвольных файлов

    Злоумышленники могут успешно атаковать 98% веб-приложений. И это не просто громкие цифры, а данные из исследования Positive Technologies. Как такое возможно, если есть инструменты и практики типа SAST, DAST и WAF, а разработчики вроде бы нормально кодят? Давайте я объясню, как устроены опасные атаки, на примере с разработчиком Василием, который работает в интернет-магазине и которому начальство подкидывает разные ***интересные*** задачки.

    habr.com/ru/companies/StartX/a

    #уязвимости #уязвимости_и_их_эксплуатация #сериализация #десериализация #xss #xss_уязвимость #безопасная_разработка #devsecops

  10. Нюансы копирования объектов в JavaScript

    Привет, Хабр! Меня зовут Александр Григоренко, я фронтенд-разработчик. В языке JavaScript ключевой сущностью является объект — структура данных, в которой хранятся значения, каждое из которых ассоциировано с уникальным ключом — строкой или значением типа Symbol . Кроме основы для работы самого языка, объекты в JavaScript — это удобный способ хранить различные данные, относящиеся к одной предметной области и структурировать эти данные через связи ключ-значение. В работе с этими структурами данных есть множество нюансов, и сегодня я хотел бы обсудить нюансы такой часто встречающейся задачи, как создание копий объектов в JavaScript.

    habr.com/ru/articles/811173/

    #объекты #javascript #копирование_объектов #клонирование_объектов #сериализация #десериализация

  11. Нюансы копирования объектов в JavaScript

    Привет, Хабр! Меня зовут Александр Григоренко, я фронтенд-разработчик. В языке JavaScript ключевой сущностью является объект — структура данных, в которой хранятся значения, каждое из которых ассоциировано с уникальным ключом — строкой или значением типа Symbol . Кроме основы для работы самого языка, объекты в JavaScript — это удобный способ хранить различные данные, относящиеся к одной предметной области и структурировать эти данные через связи ключ-значение. В работе с этими структурами данных есть множество нюансов, и сегодня я хотел бы обсудить нюансы такой часто встречающейся задачи, как создание копий объектов в JavaScript.

    habr.com/ru/articles/811173/

    #объекты #javascript #копирование_объектов #клонирование_объектов #сериализация #десериализация