После использования glibc 2.27 многие баги UAF не могут использовать

Я китаец, так что извините, мой английский плохой; Но сейчас у меня есть серьезные проблемы. После использования glibc 2.27 я не могу использовать много ошибок для изучения. Например, UAF (use-after-free) для утечки адреса libc. Изменяет ли glibc использование несортированного bin? Почему я не могу использовать UAF для утечки адреса libc в несортированном бине? Извините, пожалуйста, дайте мне объяснить, введите описание изображения здесь

Подобным образом, в прошлом я мог распределять порцию по блокировке, а затем блокировать порцию с тем же размером, которая была бы установлена ​​в несортированном контейнере и отображалась в main_arena, чтобы я мог видеть адрес libc. Но сейчас пусто. Так что я не могу достичь своей темы конкурса. Это 32-битный Кали Линукс. https://pwnable.tw/challenge/ Вот тема конкурса. Это pwn из ctf. Название - hacknote http://www.freebuf.com/articles/rookie/155971.html Это рецензия на ctf, но она китайская.

1 ответ

Решение

Последние версии glibc добавили кеш потока в malloc функция:

Это меняет структуру кучи, и некоторые методы эксплуатации перестали работать, в то время как другие (которые раньше снова работали с fastbins) теперь снова работают с чанками в кеше потока.

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

Другие вопросы по тегам