主题:如何用绿坝养肉鸡(一) -- 代码ABC
缓冲区溢出允许攻击者根据需要修改某个或某几个特定地址之后的内容,而这些修改原本是无法做到的。于是如果能溢出的缓冲区如果恰好在一些重要位置,比如:某些函数附近,那么攻击者就可以修改这些函数的代码从而执行自己需要的指令。
比较常见的情况是函数内的自动变量溢出,由于堆栈是向下生长的,和溢出方向正好相反,所以溢出的内容可以覆盖函数的返回地址,攻击者就可以控制函数返回时的执行内容。
当然做到这种攻击需要有几个条件:
1、找到溢出的地方(已经找到至少一处)
2、研究该溢出函数的代码(这个程序是可以下载的),不需要反编译,研究其汇编代码即可(这是黑客的基本功)
3、构造适合的溢出数据。
其实缓冲区溢出并不奇怪,高手也会犯这种错误。如果去看各大厂家的产品安全报告可以发现缓冲区溢出漏洞占全部安全漏洞的7成以上。之所以对这个软件的制作团队极尽嘲笑,有两个原因:第一个原因是被我发现的这种类型的漏洞完全可以避免,在水准程序员中是一个常识。第二个原因是这个产品早在2004年就写出来了,还获得N多国家荣誉,5年后这个明显错误居然没有发现。我真是佩服得五体投地。
- 相关回复 上下关系8
🙂如何使用绿坝养肉鸡(三) 34 代码ABC 字1684 2009-06-12 08:23:05
🙂赞这句 wwwfarm 字85 2009-06-15 05:02:47
🙂能不能具体的讲讲缓冲区溢出阿? jet 字117 2009-06-12 11:15:01
🙂简单原理
🙂如何用绿坝养肉鸡(二) 36 代码ABC 字2104 2009-06-12 06:53:20
🙂开发这个软件的人可怜啊,被您这么分析,不过人家拿钱了 当年万户侯 字0 2009-06-19 07:09:00
🙂被雷了一下 众生相 字103 2009-06-13 09:22:53
🙂VB6 还OK的啦 jet 字74 2009-06-12 11:11:48