Overflow& Memory Safety






通过memory overwrite 直接把仓位修改成了头等舱。

未必连续,也许有padding。假设连续,我们如果往name里写了很多数据,会overwrite 下一个memory block里的内容



黑客可以改变pointer地址,指向他想执行的func。这个叫:malicious code injection

function pointer

如果黑客改了function指针地址,让他指向黑客写的一个function,那就可以无限运行他想做的事情。

看到c 里有人写了gets,去打那个程序员。

系统漏洞排行榜


这里就不是static overflow, 而是heap overflow!  malloc new block.

Buffer overflow attack!!Buffer copy without checking the size of input

虽然你分配了64 byte的空间,但是他可以access 大于64 byte,导致�修改其他地方的内容。

IT浏览器略不安全

Memory里上方的地址高,下方地址低。



这个是安全的,因为fgets和gets不一样,他


实战例子:


In short, 就是Memory overflow. 一个bug在于他access 大于array size的地方。 一个在于snprintf给定长度的时候用的是

name.length.如果name很长,也会memory overflow。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容