pwn中堆利用的姿势收集仓(持续补充中,用到什么记录什么)


很好的参考资料:
pwn题堆利用的一些姿势 – malloc_hook

一、malloc hook

使用malloc hook主要是应对保护全开的时候,因为got表无法劫持,所以使用malloc hoook + onegadget来实现

(一)初级利用

malloc_hook是在malloc函数调用前会执行的钩子函数。 在程序中,通常malloc_hook的函数地址对应值为0,也就是不会执行任何东西,我们在利用过程中将其覆盖为onegadget地址,这样再执行一次malloc就会执行onegadget。
关于malloc_hook的地址有两种获取方法,第一种是泄露main_arnea后相差0x10,第二种是通过基址和ELF函数获取

  • malloc_hook = main_arnea - 0x10
  • malloc_hook = libc基址 + libc.sym["__malloc_hook"]

但从本质上讲,如果程序本身有shellcode,malloc hook的利用就和got表劫持一样简单

(二)程序中有/bin/sh字符串的利用方法

可以将malloc_hook修改为system函数地址,假设/bin/sh在0x400000位置,那么就将申请堆块大小写成0x400000输入,就会执行sy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值