堆溢出漏洞攻击(heap overflow vulnerability attack),理学-计算机科学技术-信息安全-网络安全-网络攻击-二进制程序漏洞攻击,通过堆溢出漏洞实施的网络攻击。堆溢出是缓冲区溢出的一种形式,因发生在计算机进程的堆空间中而得名。堆溢出漏洞是发生在堆空间的缓冲区溢出。进程的堆空间由多个大小不一的连续虚拟内存块空间组成,操作系统通过堆管理结构管理。堆管理结构位于堆空间的头部,是数组+双向链表的数据结构,之所以采用这样的结构是因为堆空间是动态申请和释放的。例如malloc函数用于申请一块堆内存空间,程序运行过程中会有频繁的节点插入、删除操作,双向链表能够实现快速的前插和节点的自删除。因为堆的频繁申请、释放,会导致整个堆内存空间的散乱无序,因此采用数组形式将内存空间划分成大小不同的块来管理,可以提高使用效率。堆溢出有可能导致两方面的破坏:①破坏相邻堆的堆管理结构。堆管理结构包含了双向链表,破坏该链表将导致系统在申请或释放堆内存时,操作该链表发生错误。如果攻击者精心构造链表内容,可将任意一个整型值写到任意位置的内存中。②破坏相邻堆的内部内容。