|
前提:
这个bug在去年最初报出来是作为crash问题报的,当时没有深究背后的远程代码执行的可能性。后来Google的工程师偶然发现这个问题,深究后发现问题不是crash那么简单 https://googleonlinesecurity.blogspot.com/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html
The glibc DNS client side resolver is vulnerable to a stack-based buffer overflow when the getaddrinfo() library function is used. Software using this function may be exploited with attacker-controlled domain names, attacker-controlled DNS servers, or through a man-in-the-middle attack.
也就是说只要使用glibc的getaddrinfo()进行DNS查询,而查询结果是黑客能控制的,那么就可能会被攻击。控制查询结果,可以通过控制DNS服务器,或者中间人攻击,或者控制域名本身(因为查询结果就是域名的信息)让受害者去查询。
测试:
https://github.com/fjserna/CVE-2015-7547
下载后 执行 python CVE-2015-7547-poc.py
编译 gcc CVE-2015-7547-client.c -o client
执行 ./client 文件
如果返回 段错误(Segmentation fault) 有漏洞
如果返回 client: getaddrinfo: Name or service not known 漏洞已修复
修复:
升级 glibc 到 2.12-1.166.el6_7.7 https://www.centos.org/forums/viewtopic.php?t=56467
执行命令 yum install glibc-2.12-1.166.el6_7.7
升级完成之后测试,测试截图
声明:本文转载自网络。版权归原作者所有,如有侵权请联系删除。 |
扫描并关注51学通信微信公众号,获取更多精彩通信课程分享。
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|