House of Lore | Small bin Attack
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Check the one from https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/house_of_lore/
Це не працює
Це не працює, навіть якщо намагається обійти деякі перевірки, отримуючи помилку: malloc(): unaligned tcache chunk detected
Цей приклад все ще працює: https://guyinatuxedo.github.io/40-house_of_lore/house_lore_exp/index.html
Вставити фейковий малий шматок у малий бін, щоб потім його можна було виділити. Зверніть увагу, що доданий малий шматок є фейковим, який створює зловмисник, а не фейковим у довільній позиції.
Створити 2 фейкові шматки та зв'язати їх разом і з легітимним шматком у малому біні:
fake0.bk
-> fake1
fake1.fd
-> fake0
fake0.fd
-> legit
(вам потрібно змінити вказівник у звільненому малому бін шматку через іншу уразливість)
legit.bk
-> fake0
Тоді ви зможете виділити fake0
.
Малий шматок (legit
) виділяється, потім виділяється ще один, щоб запобігти консолідації з верхнім шматком. Потім legit
звільняється (переміщаючи його в список незасортованих бінів), і виділяється більший шматок, переміщуючи legit
у малий бін.
Зловмисник генерує пару фейкових малих шматків і робить необхідне зв'язування, щоб обійти перевірки:
fake0.bk
-> fake1
fake1.fd
-> fake0
fake0.fd
-> legit
(вам потрібно змінити вказівник у звільненому малому бін шматку через іншу уразливість)
legit.bk
-> fake0
Виділяється малий шматок, щоб отримати легітимний, роблячи fake0
верхнім у списку малих бінів
Виділяється ще один малий шматок, отримуючи fake0
як шматок, що потенційно дозволяє читати/записувати вказівники всередині нього.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)