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

  而如果ESP被PUSH到堆栈,这是堆栈的表示:

|_parametre_I___| EBP+12
|_parametre II__| EBP+8
|_return adress_| EBP+4
|___saved_ESP___| EBP           ESP
|_local var I __| EBP-4
|_local var II__| EBP-8

  在上面的图中,变量I 和II是传递给函数的参数。在返回地址和保存ESP之后,var I和II是函数的局部变量。现在,如果我们总结所有我们所讲的,当调用一个函数的时候:

  1.我们保存老的堆栈指针,PUSH它到堆栈 2.我们保存下一个指令的地址(返回地址),PUSH它到堆栈。3.我们开始执行程序指令。

  当我们调用一个函数时,上面3步都做了。

  让我们在一个生动的例子中看堆栈的操作。

a.c :
void f(int a, int b, int c)
{
        char z[4];
}

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

  用-g标志编译这个从而能够调试:

  [murat@victim murat]$ gcc -g a.c -o a

  让我们看看这里发生了什么:

[murat@victim murat]$ gdb -q ./a
(gdb) disas main
Dump of assembler code for function main:
0x8048448 <main>:       pushl  %ebp
0x8048449 <main+1>:     movl   %esp,%ebp
0x804844b <main+3>:     pushl  $0x3
0x804844d <main+5>:     pushl  $0x2
0x804844f <main+7>:     pushl  $0x1
0x8048451 <main+9>:     call   0x8048440 <f>
0x8048456 <main+14>:    addl   $0xc,%esp
0x8048459 <main+17>:    leave
0x804845a <main+18>:    ret
End of assembler dump.
(gdb)

  以上可见,main()函数中第一个指令是:

  0x8048448

: pushl %ebp

  它支持老的指针,并把它压入堆栈。接着,拷贝老的堆栈指针倒ebp寄存器:

  0x8048449 : movl %esp,%ebp

  因而,从那时起,在函数中,我们将用EBP引用函数的局部变量。这两个指令被称为”程序引入”。接着,我们反序PUSH函数f()的参数到堆栈中。

0x804844b <main+3>:     pushl  $0x3
0x804844d <main+5>:     pushl  $0x2
0x804844f <main+7>:     pushl  $0x1

 
推荐文章
·骇客学堂:灰鸽子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 $