
BufferOverFlow-note
文章平均质量分 64
普通网友
这个作者很懒,什么都没留下…
展开
-
缓冲区溢出笔记(2006年6月9日)
栈通常用来存储函数的形式参数、本地变量(局部变量)以及在函数调用之前栈状态的信息。栈的读写遵循“LIFO”,即后进先出的原则,栈的长度向内存的低地址增长。堆通常用来存放动态分配的变量。举一个比较典型的例子,如果程序中调用了malloc函数去动态分配一块内存给一个指针,那么这个指针将有一个堆地址。堆的长度向内存的高地址增长。 .bss和.data两个内存块,用来存放全局变量,这些变量的地址翻译 2006-06-09 11:04:00 · 1421 阅读 · 0 评论 -
缓冲区溢出笔记(2006年6月13日)
一个简单的例子 #include #include char shellcode[] = "/xeb/x1f/x5e/x89/x76/x08/x31/xc0/x88/x46/x07/x89/x46/x0c/xb0/x0b""/x89/xf3/x8d/x4e/x08/x8d/x56/x0c/xcd/x80/x31/xdb/x89/xd8/x40/xcd""/x80/xe8/xdc/xff/xff翻译 2006-06-13 10:40:00 · 1126 阅读 · 2 评论 -
缓冲区溢出笔记(2006年6月12日)
第二章 栈溢出 前一章我们简要的介绍了内存的组织管理,内存是如何加载一个程序并运行的,如何会引发栈溢出以及栈溢出能够产生什么样的危害。 这就让读者明白了我们为什么要把关注的重心放到栈溢出的研究分析上来。首先,我们看看栈溢出利用的一般方式 shell code(之所以叫做shell code,因为这种方式往往实现一个root shell)。随后,让我们通过一些例子来熟悉这些原理。原理 在翻译 2006-06-12 12:21:00 · 1440 阅读 · 0 评论 -
缓冲区溢出笔记(2006年6月8日)
1988年11月2日,伴随着一种叫做“Morris Worm”的蠕虫病毒的诞生,一种新形式的计算机以及网络威胁出现了,这就是缓冲区溢出。之后,缓冲区溢出漏洞在许多地方被发现,包括各种服务程序以及应用程序。众多的含有漏洞的程序以及对这些漏洞的各种利用方式让人们意识到缓冲区溢出的巨大危害。通常,利用缓冲区溢出的漏洞,可以使得攻击者获得一个远程主机的shell,或者活得超级管理员的权限。总之,缓冲翻译 2006-06-08 19:35:00 · 883 阅读 · 0 评论