盾怪网教程:是一个免费提供流行杀毒软件教程、在线学习分享的学习平台!

编写自己的缓冲区溢出使用程序

时间:2024/10/30作者:未知来源:盾怪网教程人气:

[摘要]内容: 本文主要讲解有关Buffer Overflow的原理, 以及结合实战范例介绍Linux和Solaris下的漏洞利用. 本文并不介绍如何编写shell code. 要求: 读者要有一点C和汇编...

内容: 本文主要讲解有关Buffer Overflow的原理, 以及结合实战范例介绍Linux和Solaris下的漏洞利用. 
本文并不介绍如何编写shell code. 

要求: 读者要有一点C和汇编语言基础. 

目标: 希望本文能够尽量做到通熟易懂,使得稍有计算机基础知识的朋友看后能够亲自动手写自己的Exploit 
如果你觉得自己对这些都懂了, 就请不要再往下看了. 


第一部份 概述篇 

1. Buffer overflow是如何产生的? 
所谓Buffer overflow, 中文译为缓冲区溢出. 顾名思意, 就是说所用的缓冲区太小了, 以至装不下 
那么多的东西, 多出来的东西跑出来了. 就好象是水缸装不了那么多的水, 硬倒太多会溢出来一样;) 
那么, 在编程过程中为什么要用到buffer(缓冲区)呢? 简单的回答就是做为数据处理的中转站. 

2. UNIX下C语言函数调用的机制及缓冲区溢出的利用. 
1) 进程在内存中的影像. 
我们假设现在有一个程序, 它的函数调用顺序如下. 
main(...) -> func_1(...) -> func_2(...) -> func_3(...) 
即: 主函数main调用函数func_1; 函数func_1调用函数func_2; 函数func_2调用函数func_3 

当程序被操作系统调入内存运行, 其相对应的进程在内存中的影像如下图所示. 

(内存高址) 
+--------------------------------------+ 

关键词:编写自己的缓冲区溢出运用程序




Copyright © 2012-2018 盾怪网教程(http://www.dunguai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版