网络安全参考 | UNIX参考 | GPS参考 | 无线参考 | 在线手册 | OSBUG.ORG | SUNNY-NETWORK.COM
网站地图 RSS订阅
高级搜索 收藏本站
Home | 业界动态 | 防火墙 | IDS/IPS | VPN | PKI | Honeypot | Hacker/Intruder | 黑客技术 | 破解技术 | 加密技术 | 病毒防护 | 木马 | 反垃圾邮件 | 反流氓软件 | 漏洞 | 无线安全 | UNIX | Windows | 安全编程 | 安全软件 | TPM/TCG | 数据恢复 | 企业信息安全 | 个人信息安全
 当前位置: Home > 黑客技术 > 文章  
黑客经典教程之缓冲区溢出解密(二)
文章来源: 赛迪网 文章作者: 丁丁 发布时间: 2006-09-12   字体: [ ]
 

  我们调用这个函数:

  0x8048451 : call 0x8048440

  如我们已经通过CALL调用解释的那样,我们PUSH指令addl $0xc,%esp的地址0x8048456到堆栈。函数RET调用后,我们加12或者十六进制中的0xc(因为我们推入3个参数到堆栈中,每一个分配了4个字节(整型))。

  接着我们离开main()函数,并且返回:

0x8048459 <main+17>:    leave
0x804845a <main+18>:    ret

  好,在函数f()内部发生了什么呢?

(gdb) 

disas f
Dump of assembler code for function f:
0x8048440 <f>:  pushl  %ebp
0x8048441 <f+1>:        movl   %esp,%ebp
0x8048443 <f+3>:        subl   $0x4,%esp
0x8048446 <f+6>:        leave
0x8048447 <f+7>:        ret
End of assembler dump.
(gdb)

  开始两个指令都是一样的。它们是程序引入。接着我们看a:

  0x8048443 : subl $0x4,%esp

  从ESP减去了4个字节。这是为局部变量z分配空间。记得我们定义它为char z[4]?它是一个4字节的字符数组。最后,在末尾,函数返回:

0x8048446 <f+6>:        leave
0x8048447 <f+7>:        ret

  好,让我们看另外一个例子:

b.c :
void f(int a, int b, int c)
{
        char foo1[6];
        char foo2[9];
}

void main()
{
        f(1,2,3);
}

  编译并且启动gdb,解析f:

[murat@victim murat]$ gcc -g b.c -o b
[murat@victim murat]$ gdb -q ./b
(gdb) disas f
Dump of assembler code for function f:
0x8048440 <f>:  pushl  %ebp
0x8048441 <f+1>:        movl   %esp,%ebp
0x8048443 <f+3>:        subl   $0x14,%esp
0x8048446 <f+6>:        leave
0x8048447 <f+7>:        ret
End of assembler dump.
(gdb)

  可以看出,从ESP中减去了0x14(20字节),尽管foo1和foo2的总长度只有9+6=15。这样的原因是,内存,还有堆栈,在4字节框架下编址。这意味着,你不能简单的PUSH 1字节数据到堆栈中。或者4字节或者为空。

 
推荐文章
·骇客学堂:灰鸽子VIP2006终极免
·黑客攻破SQL服务器系统的十种方
·黑客的攻击:WEB入侵的过程
·Web环境下SQL注入攻击的检测与防
·黑客经典教程之理解地址解析协议
·黑客经典教程之缓冲区溢出解密(
·黑客基础内容:21种RING的提权方
·网络孙子兵法!黑客攻防也有三十
·黑客攻击常见方法及安全策略制订
·黑客技巧 使用Google黑掉Windows
 

 
共3页: 上一页 [1] 2 [3] 下一页
↑返回顶部   打印本页   关闭窗口↓  

Google
 
Web oldhand.org unixreference.net meshmea.org
热点文章
·黑客基础内容 DOS常见命
·攻防秘技:彻底防范网络
·黑客教程:黑客入侵个人
·很多人的Hack经历第一次
·黑客基础内容 IPC$空连
·黑客经典教程之理解地址
·黑客技巧 使用Google黑
·黑客攻击常见方法及安全
相关分类
相关文章
·黑客经典教程之理解地址
·黑客经典教程之缓冲区溢
·菜鸟都学会 十三步简单
·骇客学堂:跨站攻击偷取
·黑客的攻击:WEB入侵的
·黑客攻破SQL服务器系统
·黑客新人必学的网站入侵
·攻防秘技:彻底防范网络
更多...
 
 

Copyright(c) 2001-2008 OLDHAND ORGANIZATION, All Rights reserved.
Power by DedeCms 织梦内容管理系统
$Id: article_article.html,v 1.3 2007/02/10 12:00:37 yjs Exp $