主题:如何用绿坝养肉鸡(一) -- 代码ABC
1、居然还在裸奔;
2、图里的MM长得还可以的说。
缓冲区溢出允许攻击者根据需要修改某个或某几个特定地址之后的内容,而这些修改原本是无法做到的。于是如果能溢出的缓冲区如果恰好在一些重要位置,比如:某些函数附近,那么攻击者就可以修改这些函数的代码从而执行自己需要的指令。
比较常见的情况是函数内的自动变量溢出,由于堆栈是向下生长的,和溢出方向正好相反,所以溢出的内容可以覆盖函数的返回地址,攻击者就可以控制函数返回时的执行内容。
当然做到这种攻击需要有几个条件:
1、找到溢出的地方(已经找到至少一处)
2、研究该溢出函数的代码(这个程序是可以下载的),不需要反编译,研究其汇编代码即可(这是黑客的基本功)
3、构造适合的溢出数据。
其实缓冲区溢出并不奇怪,高手也会犯这种错误。如果去看各大厂家的产品安全报告可以发现缓冲区溢出漏洞占全部安全漏洞的7成以上。之所以对这个软件的制作团队极尽嘲笑,有两个原因:第一个原因是被我发现的这种类型的漏洞完全可以避免,在水准程序员中是一个常识。第二个原因是这个产品早在2004年就写出来了,还获得N多国家荣誉,5年后这个明显错误居然没有发现。我真是佩服得五体投地。
好想看mm啊~~~~
啊啊啊啊啊啊~~~~~
那个绿吧mm的照片还在,长的挺纯的啊,不像绿吧开发小组的吧?(您想那个小组每天屏幕上都是啥jpg。)
因为需要向上兼容以前遗留下来一些DLL,EXE.C++或C需要注意ABI问题.你去看看QQ的目录,看到MFC42.dll(vc6.0 环境).
您说对了一部分,写这种程序目前只能用C/C++。因为不能依赖于微软的dotNet框架,否则一个小程序要附带一个40M以上的框架就是一个笑话。
引人侧目的是他们的系统架构,其实网站部分完全可以用另一套技术创建,php、java、Asp.Net都可以。另外,其实新版本的Visual Studio也是可以编写基于MFC的应用程序的。而且Bug会更少(MFC42.dll还有运行时环境都有不少Bug)。所以我对现在还是用VS6的开发团队是由偏见的。