House of force

0x00 利用要点

1.申请一块非常大的块.  

2.精心构造size覆盖top chunk的chunk header.

3.调用malloc()实现任意地址写

0x01 申请一块非常大的块.

申请一个负数大小的块就可。一般是-1.

malloc(-1)

0x02 精心构造size覆盖top chunk的chunk header.

32位:SIZE  =  目标地址 - 8 - top_chunk

64位:SIZE  =  目标地址 - 16 - top_chunk

malloc(SIZE)

0x03 调用malloc()实现任意地址

任意malloc一个块便可以对目标地址进行写操作了

0x04 参考链接

https://github.com/shellphish/how2heap/blob/master/house_of_force.c

http://w0lfzhang.me/2016/10/15/house-of-force/

https://gbmaster.wordpress.com/2015/06/28/x86-exploitation-101-house-of-force-jedi-overflow/                                                                                                                                                              .

原文地址:https://www.cnblogs.com/elvirangel/p/7182503.html