-
-
cve-2010-0304 Wireshark 溢出漏洞分析及利用代码的分析
-
发表于:
2010-12-2 15:30
8362
-
cve-2010-0304 Wireshark 溢出漏洞分析及利用代码的分析
几个月前发黑防上的文章.
高手就路过吧.
大家多多指点.
cve-2010-0304 Wireshark 溢出漏洞分析及利用代码的分析
Wireshark是一款非常流行的网络封包分析软件. 其方便性,开源性和跨平台性和可扩展性,导至其有很广大的使用人群,尤其做网络相关开发工作的程序员. 现在我们要分析的Cve-2010-0304这个漏洞是在对lwres协议解码中,由于字符串读取处理不当造成的. 我们可以从官方下到其源码,来分析下漏洞产生的原因,并对网络上流行的利用程序,进行简单的分析.(在1.2.6的版本中,修补了这个漏洞,我下的是1.2.5).
下面分析下漏洞产生的原因.
出现问题的函数为:dissect_getaddrsbyname_request
(这个函数在epan\dissectors\packet-lwres.c 这个文件中定义).
static void dissect_getaddrsbyname_request(tvbuff_t* tvb, proto_tree* lwres_tree)
{
guint32 flags,addrtype;
guint16 namelen;
guint8 name[120];
proto_item* adn_request_item;
proto_tree* adn_request_tree;
flags = tvb_get_ntohl(tvb, LWRES_LWPACKET_LENGTH);
addrtype = tvb_get_ntohl(tvb, LWRES_LWPACKET_LENGTH + 4);
namelen = tvb_get_ntohs(tvb, LWRES_LWPACKET_LENGTH + 8);
tvb_get_nstringz(tvb, LWRES_LWPACKET_LENGTH+10, namelen, name); //这里产生溢出
name[namelen]='\0';
......
}
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)