Forwarded from сегодня ничего не происходит
есть мнение, что распространять такие ссылки неэтично, но я считаю, что это необходимая мера для понимания масштаба утечек. мы все должны знать, какие из наших личных данных уже попали в паблик
за 2022 год утекло много данных из российских баз, которые были обогащены данными из предыдущих утечек. хакерская группа публикует инструмент для бесплатного поиска по этим данным, используя:
- Telegram ID
- номер телефона
- ФИО
- Email
- анонсирован поиск по адресам и другим данным
если компания собирает данные пользователей, они будут слиты
за 2022 год утекло много данных из российских баз, которые были обогащены данными из предыдущих утечек. хакерская группа публикует инструмент для бесплатного поиска по этим данным, используя:
- Telegram ID
- номер телефона
- ФИО
- анонсирован поиск по адресам и другим данным
если компания собирает данные пользователей, они будут слиты
sqlite3 популярная база, но по ней очень мало ресёчей именно по внутреностям, самый известный, пожайлуй, от чекпоинта (линк)
В нём предложены интересные примитивы для эксплуатации sqlite3 через создание своей базы, по сути они просто придумали методы по спрею кучи, перехвату любого SELECT запроса и замены его на свой, конвертации указателей в числа и обратно и через крафт базы засплоитили багу в модуле fts3 (кстати, он включен не во всех версиях sqlite3).
Сетап описанный в статье не всегда такой удачный, например у вас может не быть fts3 или версия может быть старше, где баги уже не будет. Но интересен тот факт, что при инициализации базы вызывается код который генерит таблицы и прочие структуры (в статье это описано почти в самом начале и называется DDL(Data Definition Language)). То есть по сути мы можем выполнить любой SQL запрос на момент иницализации самой базы (на самом деле на момент вызова первого SELECT запрсоа). Звучит как-то опасно, но от этого есть защита.
В новых версиях защита заключается в том, что этот запрос может начинатсья только с CREATE (в коде это выглядит как strncmp()), то есть по сути вы сможете только создать новую табличку.
А вот в старых версиях такой проверки нет, но при этом нигде в интернете нет информации про такие атаки...
Это из-за того, что в старой версии вы по сути тоже не можете выполнить произвольные запросы, потому что любой запрос в sqlite3 базу конвертируется в байткод, а во время инициализации базы выполнение VDBE кода запрещено.
Интересно, зачем они добавили ещё одну проверку, в новых версиях, если в старых уже не работали произвольные запросы или может есть какие-то байпассы, но про них нигде в паблике нет..
*На первом скрине скриншот с описанием для старой версии sqlite3, на втором для новой*
В нём предложены интересные примитивы для эксплуатации sqlite3 через создание своей базы, по сути они просто придумали методы по спрею кучи, перехвату любого SELECT запроса и замены его на свой, конвертации указателей в числа и обратно и через крафт базы засплоитили багу в модуле fts3 (кстати, он включен не во всех версиях sqlite3).
Сетап описанный в статье не всегда такой удачный, например у вас может не быть fts3 или версия может быть старше, где баги уже не будет. Но интересен тот факт, что при инициализации базы вызывается код который генерит таблицы и прочие структуры (в статье это описано почти в самом начале и называется DDL(Data Definition Language)). То есть по сути мы можем выполнить любой SQL запрос на момент иницализации самой базы (на самом деле на момент вызова первого SELECT запрсоа). Звучит как-то опасно, но от этого есть защита.
В новых версиях защита заключается в том, что этот запрос может начинатсья только с CREATE (в коде это выглядит как strncmp()), то есть по сути вы сможете только создать новую табличку.
А вот в старых версиях такой проверки нет, но при этом нигде в интернете нет информации про такие атаки...
Это из-за того, что в старой версии вы по сути тоже не можете выполнить произвольные запросы, потому что любой запрос в sqlite3 базу конвертируется в байткод, а во время инициализации базы выполнение VDBE кода запрещено.
Интересно, зачем они добавили ещё одну проверку, в новых версиях, если в старых уже не работали произвольные запросы или может есть какие-то байпассы, но про них нигде в паблике нет..
*На первом скрине скриншот с описанием для старой версии sqlite3, на втором для новой*
🤔2
ТинькоФФ просто гении про прогреву гоев, взяли и поделили на два стоимость заблокированных акций (и насколько я прочитал из комментов, некоторым людям открыли возможность продажи части этих акций).
То есть банк предложил "удобный" способ возврата заблокированных акций, выкупая их у людей. Правда вот цену поделили пополам.
На скрине показано как это отображается у меня в ЛК (например NetEra Energy за акцию стоит 83.2 на бирже, а не 40)
То есть банк предложил "удобный" способ возврата заблокированных акций, выкупая их у людей. Правда вот цену поделили пополам.
На скрине показано как это отображается у меня в ЛК (например NetEra Energy за акцию стоит 83.2 на бирже, а не 40)
💩3
Отлаживаю я бинарь под ARM64 в следующем сетапе:
1. qemu-static запускает бинарь и открывает порт
2. gdb-multiarch через gef-remote коннектится к порту
Казалось бы, обычный сетап и всё норм, но все регистры и указатели отображаются как 32-битные, хотя у меня 64-битный бинарь.
Проблема оказалась внутри GEF-а, а именно в том, что класс ARM64 унаследован от ARM, а он в свою очередь от Architecture. Во всех этих класса определяется свойство "ptrsize" которое отвечает за отображения всех значений в листингах через команды gef-a.
А вот у ARM64 не было определено это свойство, в итоге оно наследовалось от ARM (а он 32-битный) и всё ломалось/некорректно отображалось.
Достаточно просто добавить его в описание класса ARM64 и всё будет норм отображаться.
P.S. А, в актуальной версии и так оно есть, видимо у меня старый gef
1. qemu-static запускает бинарь и открывает порт
2. gdb-multiarch через gef-remote коннектится к порту
Казалось бы, обычный сетап и всё норм, но все регистры и указатели отображаются как 32-битные, хотя у меня 64-битный бинарь.
Проблема оказалась внутри GEF-а, а именно в том, что класс ARM64 унаследован от ARM, а он в свою очередь от Architecture. Во всех этих класса определяется свойство "ptrsize" которое отвечает за отображения всех значений в листингах через команды gef-a.
А вот у ARM64 не было определено это свойство, в итоге оно наследовалось от ARM (а он 32-битный) и всё ломалось/некорректно отображалось.
Достаточно просто добавить его в описание класса ARM64 и всё будет норм отображаться.
@property
def ptrsize(self) -> int:
return self._ptrsize
P.S. А, в актуальной версии и так оно есть, видимо у меня старый gef
https://vxtwitter.com/furrtek/status/1625696498078867456
Ааа, так вот как выглядит хардварный хакинг, а я то думал...
Ааа, так вот как выглядит хардварный хакинг, а я то думал...
vxTwitter / fixvx
Furrtek (@furrtek)
Voltage glitching attack illustrated
💖 2343 🔁 400
💖 2343 🔁 400
🔥2🤔1
Обзор на еду из автомата ВкусВилла, стоящего у нас в офисе.
Цена: 228 рублей
Отзыв: Прикольная шавуха. Привкус у мяса действительно как с мангала/костра, не знаю правда ли на углях было приготовлено, но похоже. Овощей маловато и соуса. Лаваш не толстый и в целом приятный. При поглощении не развалилась.
Оценка: 6/10.
Цена: 228 рублей
Отзыв: Прикольная шавуха. Привкус у мяса действительно как с мангала/костра, не знаю правда ли на углях было приготовлено, но похоже. Овощей маловато и соуса. Лаваш не толстый и в целом приятный. При поглощении не развалилась.
Оценка: 6/10.
👍2
Цена: 226 рублей
Отзыв: Яблоки кажутся лишними, а так неплохой салат. Заправлен хорошо, тунца хотелось побольше, конечно. Как перекус отлично подходит.
Оценка: 7/10.
Отзыв: Яблоки кажутся лишними, а так неплохой салат. Заправлен хорошо, тунца хотелось побольше, конечно. Как перекус отлично подходит.
Оценка: 7/10.
🤔2