很简单也很低级的漏洞。
SSL通过heartbeat确认client依然在线,heartbeat第2和3字节(共16位)表示请求数据大小,结果服务器端的OpenSSL没有检查这两位的大小是否超过数据的大小,直接用memcpy把按照heartbeat请求的数据大小把需要发送的内存区域拷贝到了发送buffer,由于用了指针和memcpy,如果实际数据只有一点点,最多可以把65535Bytes的数据都拷贝到发送buffer,直接发送掉了,不留任何log,这65535Bytes数据可都是服务器上的内存里的东西啊,很多都没有任何加密。
SSL通过heartbeat确认client依然在线,heartbeat第2和3字节(共16位)表示请求数据大小,结果服务器端的OpenSSL没有检查这两位的大小是否超过数据的大小,直接用memcpy把按照heartbeat请求的数据大小把需要发送的内存区域拷贝到了发送buffer,由于用了指针和memcpy,如果实际数据只有一点点,最多可以把65535Bytes的数据都拷贝到发送buffer,直接发送掉了,不留任何log,这65535Bytes数据可都是服务器上的内存里的东西啊,很多都没有任何加密。
200字以内,仅用于支线交流,主线讨论请采用回复功能。