首页 > 编程相关 > C语言指针太危险了

C语言指针太危险了

2011年7月11日 sigma 发表评论 阅读评论

在C语言中,指针的存在带来了极大的方便,尤其是直接对内存操作的极大方便性,但是,指针的存在也带来了一个极大的安全隐患,那就是栈溢出,很多攻击就是由此造成的。

之前,我对这些东西没有深刻体会,直到昨天碰到一个诡异的bug,才深有体会,详见Scanf通过%x(%d)读入char出现栈溢出的诡异问题一文。

在这个case中,scanf通过指针引用改变内存,导致执行结果和想象中不一致,事实上,这也是栈溢出的一个实例,稍微改动,就可以作为一个栈溢出攻击示例。但很多系统下这程序运行竟然没有任何提示,太危险了。

现在知道为什么java等语言没有指针了,内存管理也交给系统了,这也许能更好的保证安全性吧。

本文作者: Sigma    在新浪微博关注SigmaSigmaWeibo    RSS订阅本博客
本文链接: http://mblog.sigma.me/2011/07/11/c%e8%af%ad%e8%a8%80%e6%8c%87%e9%92%88.html
本博客采用知识共享署名—非商业性-禁止演绎使用3.0协议进行许可,转载请保留作者和原文链接。

分类: 编程相关 标签:

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

无觅相关文章插件,快速提升流量