20 12
发新话题
打印

缓冲区溢出编程心得

我也希望能做到这点啊!
我刚刚学LINUX,学了:samba,vsftpd,apache2,named,dhcpd,squid,php,mysql等服务器的配置和架设。我全部下载源代码编译安装的,个中滋味,只有自己知道啊,我通过多看LOG,网上发贴,解决了我很多问题。其中samba服务器的架设就花了我2个月的时间,./nmbd -D   ./smbd -D 命令前没有加当前路径,老是提示:COMMAND NOT FIND。后来网上发贴,网友提示,解决了。但还是没成功,我删除了,重新编译安装,才成功的。我的每一个服务的架设,几乎都可以写一个章节的文章!但是我还是很幸运,因为我解决了我遇到的问题,我掌握了基本的知识。我觉得我学的很有滋味的,与先前花在MCSE2000上的功夫相比,我觉得还是很值得的,微软的东西用在局域网内还可以用用,如果用在互连网上,linux和unix还是最好的。
我希望,我可以做的很好!!!!!
引用:
下面是引用sanool于2006-04-30 12:55发表的:
N久以前的帖子了  大学的时候弄的
缓冲区编程还深奥的很   这个文章只是初级入门
哦,
不过我在这方面现在不怎么懂哦.
在自己的人生道路上,只有磨练自己、踏平坎坷,才能到达理想的彼岸!
这个我非常的喜欢,等我一切稳定了,我也要专一下!呵呵
###################人生在于拼搏!###############
0xbfffef60是这个char字符串的起始地址,
从这个起始地址移动28位,
就移动到了那个return的地址,
然后对这个地址的内容(其实就是执行的指令地址)加上10,
那么指令执行的顺序就变化了。
那个被覆盖的地址原来是0x08048382,加上10以后就变成了0x0804838c。

本质上就是覆盖了返回地址而已。

如果你想弄的好玩一点,也可以把这个覆盖到system调用等等。
还是可以玩一玩的。
E-mail: hhding!!gnu!gmail!!com
这里有一个关于缓冲区溢出的英文电子书,有兴趣的可以看看 (A_Buffer_Overflow_Study_-_Attacks_and_Defenses_(2002).pdf):
http://www.lupaworld.com/36400/spacelist_type_file.html
引用:
原帖由 flyingpig 于 2007-4-2 20:31 发表
这里有一个关于缓冲区溢出的英文电子书,有兴趣的可以看看 (A_Buffer_Overflow_Study_-_Attacks_and_Defenses_(2002).pdf):
http://www.lupaworld.com/36400/spacelist_type_file.html
好资源阿
多谢
邮箱 sanool at gmail.com  
缓冲区溢出,我到目前还只搞过WINDOWS下的栈溢出和堆溢出;LINUX下还没开始动手做;不过我想原理应该都差不多的,熟悉GDB,应该不难;
缓冲区溢出并不是想象中那么难,当你自己搞写成功之后,回头来看,就会发现其实就那么一点东西,不过是多了点底层的东西而已.
julang3 [S.I.S]
我发现我大学算是白读了。
这段程序的本质就是利用C能任意修改合法内存地址的内容,来跳过了一个语句。

我在64位的机器上面编译,分别是加 0x18和0x7

写程序的时候,如果不注意用snprintf()来掉题sprintf(),用strncpy()代替strcpy()这些细节,有可能会被利用来覆盖函数返回地址。

sanool是清华的?强阿!
Fluke's Blog
I'm a user.
学习了.....
谢谢了
http://www.talons.cn
 20 12
发新话题