服务器之家

服务器之家 > 正文

Linux Glibc库安全漏洞检测方法和修复方案

时间:2019-10-16 15:37     来源/作者:Linux教程网

2015年1月27日Linux GNU glibc标准库的 gethostbyname函数爆出缓冲区溢出漏洞,漏洞编号为CVE-2015-0235。黑客可以通过gethostbyname系列函数实现远程代码执行,获取服务器的控制权及Shell权限,此漏洞触发途径多,影响范围大,已确认被成功利用的软件及系统:Glibc 2.2到2.17 (包含2.2和2.17版本)。

GNU glibc标准库的gethostbyname 函数爆出缓冲区溢出漏洞,漏洞编号:CVE-2015-0235。 Glibc 是提供系统调用和基本函数的 C 库,比如open, malloc, printf等等。所有动态连接的程序都要用到Glibc。远程攻击者可以利用这个漏洞执行任意代码并提升运行应用程序的用户的权限。

漏洞检测方法

按照说明操作即可:
 

复制代码

代码如下:


#include <netdb.h> 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <errno.h> 
#define CANARY "in_the_coal_mine" 
struct { 
char buffer[1024]; 
char canary[sizeof(CANARY)]; 
} temp = { "buffer", CANARY }; 
int main(void) { 
struct hostent resbuf; 
struct hostent *result; 
int herrno; 
int retval; 
/*** strlen (name) = size_needed -sizeof (*host_addr) - sizeof (*h_addr_ptrs) - 1; ***/ 
size_t len = sizeof(temp.buffer) -16*sizeof(unsigned char) - 2*sizeof(char *) - 1; 
char name[sizeof(temp.buffer)]; 
memset(name, '0', len); 
name[len] = '\0'; 
retval = gethostbyname_r(name,&resbuf, temp.buffer, sizeof(temp.buffer), &result, &herrno); 
if (strcmp(temp.canary, CANARY) !=0) { 
puts("vulnerable"); 
exit(EXIT_SUCCESS); 

if (retval == ERANGE) { 
puts("notvulnerable"); 
exit(EXIT_SUCCESS); 

puts("should nothappen"); 
exit(EXIT_FAILURE);
}


将上述代码内容保存为GHOST.c,执行:

复制代码

代码如下:


gcc GHOST.c -o GHOST</p> <p>$./GHOST
vulnerable //表示存在漏洞,需要进行修复。</p> <p>$./GHOST
notvulnerable //表示修复成功。


建议修补方案

 

特别提示:由于glibc属于Linux系统基础组件,为了避免修补对您服务器造成影响,建议您选择合适时间进行修复,同时务必在修复前通过快照操作进行备份。

CentOS 5/6/7
 

复制代码

代码如下:


yum update glibc


Ubuntu 12/14

复制代码

代码如下:


apt-get update
apt-get install libc6


Debian 6

复制代码

代码如下:


wget -O /etc/apt/sources.list.d/debian6-lts.list <a href="http://mirrors.aliyun.com/repo/debian6-lts.list">http://mirrors.aliyun.com/repo/debian6-lts.list</a>
apt-get update
apt-get install libc6

 

Debian 7
 

复制代码

代码如下:


apt-get update
apt-get install libc6


openSUSE 13

复制代码

代码如下:


zypper refresh
zypper update glibc*


Aliyun linux 5u7

复制代码

代码如下:


wget -O /etc/yum.repos.d/aliyun-5.repo <a href="http://mirrors.aliyun.com/repo/aliyun-5.repo">http://mirrors.aliyun.com/repo/aliyun-5.repo</a>
yum update glibc
标签:

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国
暖暖日本高清免费中文 暖暖在线观看免费完整版韩国 2021-05-08
返回顶部

404
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40