千家信息网

如何检测和修复Linux Glibc库安全漏洞

发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,这篇文章主要讲解了"如何检测和修复Linux Glibc库安全漏洞",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何检测和修复Linux Glibc库
千家信息网最后更新 2024年12月13日如何检测和修复Linux Glibc库安全漏洞

这篇文章主要讲解了"如何检测和修复Linux Glibc库安全漏洞",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何检测和修复Linux Glibc库安全漏洞"吧!

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
#include
#include
#include
#include
#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

$./GHOST
vulnerable //表示存在漏洞,需要进行修复。

$./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 http://mirrors.aliyun.com/repo/debian6-lts.list
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 http://mirrors.aliyun.com/repo/aliyun-5.repo
yum update glibc

感谢各位的阅读,以上就是"如何检测和修复Linux Glibc库安全漏洞"的内容了,经过本文的学习后,相信大家对如何检测和修复Linux Glibc库安全漏洞这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

漏洞 代码 检测 安全 安全漏洞 函数 内容 系统 学习 成功 建议 服务器 权限 标准 程序 缓冲区 修补 影响 服务 缓冲 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 物联网iot云平台软件开发 红帽子杯网络安全大赛什么级别 网上哪里可以学到网络技术 软件开发职业规划怎么回答 数据库与编程 服务器坏了修复多少钱 数据库安全机制的四个等级 网络安全伴我成长手抄报图片内容 软件开发设计课程 沙坪坝区技术软件开发服务代理商 上海网络安全产业协会 代理服务器扫描 原理 上海软件开发中心总经理 宇视监控服务器怎么登录 香港服务器服务商 报送金融数据库还要还款吗 简述数据库备份和恢复的含义 网络安全三条红线四个必须 甘肃hp服务器维修调试哪家好 哪一种软件开发模型最常用 用access创建空白数据库 网络安全威胁的趋势 数据库怎么查找不在职的教师信息 国际足球球队数据库 浙江三维人口管理系统软件开发 网络安全技术与实训参考文献 中标人工智能服务器集中采购项目 软件开发量及报价 文明重启怎么进宅哥的服务器 中石油互联网科技分公司
0