本帖最后由 z25096708 于 2015-1-30 13:05 编辑
关于这个漏洞的具体消息可以在RedHat看到
大致受影响的系统:全部使用glibc库2.2-2.17版本的Linux发行版本都受到影响
[bedrock]←收藏
先讲检测事宜(怎么利用可以跟我买= =去死把,我不会卖的)
检测代码由@X60发布,与我无关
使用GCC编译器编译以下代码(嗯...Windows就别去编译了= =,动动自己脑洞,这是啥语言的C)
(终于把颜色弄好了)
如果输出为not wulnerable则代表你的系统是安全的【目测ubuntu 14.4 应该没事。。。等下上我服务器测试下
修复方法--ubuntu:
sudo apt-get update
sudo apt-get install libc6
//讲解下,sudo apt-get update是为了更新软件包。而sudo apt-get install libc6是安装新版本的glibc。如果更新不到,请检查自己的软件源。一般外国的都会有.
//还有,等sudo apt-get update执行完了之后再执行libc6指令
RHEL:
yum install update
yum install libc6
//同理
好了,到了讲利用方法了.
我只讲一个无关紧要的= =
可以通过发送一个包,试探这个系统是64位的还是32位的
@1076742624 求精
哦对了,windows想玩的可以看这里
关于这个漏洞的具体消息可以在RedHat看到
大致受影响的系统:全部使用glibc库2.2-2.17版本的Linux发行版本都受到影响
[bedrock]←收藏
先讲检测事宜(怎么利用可以跟我买= =去死把,我不会卖的)
检测代码由@X60发布,与我无关
使用GCC编译器编译以下代码(嗯...Windows就别去编译了= =,动动自己脑洞,这是啥语言的C)
#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("not vulnerable"); exit(EXIT_SUCCESS); } puts("should not happen"); exit(EXIT_FAILURE);}//23333333333333,这个蛋疼的注释
(终于把颜色弄好了)
如果输出为not wulnerable则代表你的系统是安全的【目测ubuntu 14.4 应该没事。。。等下上我服务器测试下
修复方法--ubuntu:
sudo apt-get update
sudo apt-get install libc6
//讲解下,sudo apt-get update是为了更新软件包。而sudo apt-get install libc6是安装新版本的glibc。如果更新不到,请检查自己的软件源。一般外国的都会有.
//还有,等sudo apt-get update执行完了之后再执行libc6指令
RHEL:
yum install update
yum install libc6
//同理
好了,到了讲利用方法了.
我只讲一个无关紧要的= =
可以通过发送一个包,试探这个系统是64位的还是32位的
@1076742624 求精
哦对了,windows想玩的可以看这里
占楼,帖子里貌似有什么错的呢~
新人magnus绑定了,代码我都懂
windows8.1路过。。。
而且不懂C语言
而且不懂C语言
lymenglei 发表于 2015-1-30 12:37
新人magnus绑定了,代码我都懂
{:10_523:}{:10_523:}
windows编译不编译跟是不是C语言有毛关系
ylmars 发表于 2015-1-30 12:41
windows编译不编译跟是不是C语言有毛关系
你想想windows有gcc么...
本帖最后由 ylmars 于 2015-1-30 12:48 编辑
有啊。。版本还多的是呢,而且C语言和gcc和glibc也没有必然联系啊
(我就是来挑刺的)
z25096708 发表于 2015-1-30 12:43
你想想windows有gcc么...
有啊。。版本还多的是呢,而且C语言和gcc和glibc也没有必然联系啊
(我就是来挑刺的)
反正一般黑客也利用不了缓冲区漏洞