五千年(敝帚自珍)

主题:如何用绿坝养肉鸡(一) -- 代码ABC

共:💬168 🌺312 🌵1
全看分页树展 · 主题 跟帖
家园 这不能算漏洞

毕竟DLL的目的之一是用来节省内存,所谓动态的意思就是在需要时才加载,不需要的时候就可以卸除。并不需要每次加载的位置都不一样。而且为了链接方便,减少重定向的麻烦,每个DLL都有一个基地址,在加载时系统会按照这个基地址的设置将DLL加载到指定的位置上,也就是说如果没有地址冲突或内存不够的情况下,DLL的加载地址都是不变的。需要注意的一件事,既在NT内核中每个应用程序(进程)都会得到一个4G的虚拟地址空间(32位),而且exe的基地址默认都是0x00040000。也就是估算exe内部程序的地址空间是很简单的。

事实上,在做缓冲区溢出攻击的时候更多的是执行系统调用,比如添加帐号、修改帐号权限之类的事情,这时候我只需要知道系统API的入口即可。而在Windows系统中(其实其他系统都差不多),这些调用的入口是不变的。就Windows而言都在程序4G空间的上半部。这样的设计也不能算是漏洞,不然调用这些API的代码就需要系统做重定向,损失的就是运行效率了。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河