[BUUCTF]-PWN:ciscn_2019_n_3解析

堆题,先看保护

4e711962dad4460482bdfe4a14d86d86.png

32位,Partial RELRO,没pie关键信息就那么多,看ida

2de9f379d5764cefb5cd8de24c877e34.png

大致就是alloc创建堆块,free释放堆块,dump打印堆块内容

28c12b2c83ea4c29ad92b91464c25972.png

但是仔细看这三个函数就可以发现在实际运行中,会先创建一个存有free相关函数的地址和打印堆块内容相关函数的地址。

2fec1c8001784d7eb9d4d3a7dd5aba8b.png

看delete函数并结合动态调试,可以知道释放堆块的过程实际上是调用先创造的12字节堆块的rec_str_free。那也就意味着无论那块地址存的是哪里的地址,我们在free堆块时他都会执行,并且题目给了我们system。注意,这里释放堆块之后并没有清除指向堆块的指针,也就是存在records数组的地址,所以我们可以利用这一漏洞修改12字节堆块中fr

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值