发信人: zjn (严禁灌水), 信区: PDA
标 题: 来个学术贴具体分析一下heartbleed的原理.
发信站: BBS 未名空间站 (Fri Apr 11 01:24:17 2014, 美东)
heartbleed的fix在这里:
https://bugzilla.redhat.com/
both.c_sec1
问题出在直接拿了进来的数据包里面的两个字节作为后面memcp
的数据包里给个64K作为长度而实际的数据包长度小于64KB, openssl就会把这个数据包
之后的内存内容拷贝发回.
由于用来存数据包的内存是动态分配的, 一般heap实现会将近似大小的动态分配内存放
在一个大的segment中,
存内容. 通过控制数据包长度, 加上知道重要的数据结构的大小, 应当有可能得到非常
重要的内容. 这确实是个十分严重的bug.
十分怀疑这程序员是故意的,
中. 就好比比一个成人再迷惑也不会不知道1+1=2. 那个是NSA的间谍的怀疑是靠谱的.
Comments
Post a Comment
https://gengwg.blogspot.com/