Heartbleed 漏洞不会导致服务器 Segment Fault 吗?

2014-07-23 22:02:39 +08:00
 chengluyu
如题,漏洞原理既然是memcpy函数未能进行边界检查,那为什么不会导致段错误呢?
3072 次点击
所在节点    问与答
4 条回复
isaced
2014-07-23 22:29:25 +08:00
看错了,SegmentFault...
ChiChou
2014-07-23 22:58:51 +08:00
因为是越界读取,不是越界写入。缓冲区还是足够大的,但是读到了不该读的内容。
ltzliwe
2014-07-24 01:39:40 +08:00
程序访问到的内存有三种类型
读写(数据段),只读(代码段),不可读写(超出系统分配给程序的区域)

然后这里memcpy只要还在一定范围内还是可以访问的,但是当拷贝的数据特别大的时候,也是会出现Segment Fault的
xxr3376
2014-07-24 23:11:44 +08:00
我猜应该是因为openssl做为一个库,和所属的应用程序应该处于同一个进程空间中。

类似于栈溢出攻击一样,只要不越界出这个程序的内存范围就好。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/124173

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX