涉及程序: Emule 0.27b版以及之前的版本 描述: Emule 存在缺陷能导致远程崩溃 详细: Emule是一款使用Edonkey p2p协议,性能卓越的开放源代码文件共享程序。Emule程序大部分功能是在WINDOWS系统上运行,但程序存在一个端口,也可在LINUX上运行。Edonkey 协议通过发送“鉴定数据”报头向客户端提交连接请求,数据包括用户信息,例如昵称,字符串,客户程序版本,客户端口和许多其他信息。在发送报头之后,用户可向远程主机发送聊天信息。当攻击者发送的信息不包括他的昵称,将导致Emule出现缺陷。 在Edonkey的报头中存在一个“标签”(0x01000102),用于指定用户的昵称,因此,攻击者只需要不发送“标签”和昵称就能触发该缺陷。Emule 0.27b版的EIP 0x00444200函数用于将昵称字符串储存在内存中,如果攻击者的鉴定数据没有包含昵称,由于程序将试图阅读不能被应用的内存地址(0x00000000 因为在内存中不存在昵称字符串地址),将导致EIP 0x00444200函数失效,引起Emule程序崩溃。 其间,程序试图去执行下列操作: \"mov cl,