用来检查CVE-2012-2122漏洞的C程序
2517 点击·0 回帖
![]() | ![]() | |
![]() | CVE-2012-2122 也就是M ySQL 刚刚爆出的那个漏洞。该代码用来检查是否memcmp 存在此漏洞,如下: /* * CVE-2012-2122 checker * * You may get differing results with/without -m32 * www.atcpu.com * Joshua J. Drake */ #include <stdio.h> #include <stdlib.h> #include <time.h> #include <sys/types.h> #include <unistd.h> #include <string.h> int main(void) { int one, two, ret; time_t start = time(0); time_t now; srand(getpid()*start); while (1) { one = rand(); two = rand(); ret = memcmp(;one, ;two, sizeof(int)); if (ret < -128 || ret > 127) break; time(;now); if (now - start > 10) { printf("Not triggered in 10 seconds, *probably* not vulnerable..\n"); return 1; } } printf("Vulnerable! memcmp returned: %d\n", ret); return 0; } 代码来源:http://pastie.org/4064638 作者: FreebuF.COM | |
![]() | ![]() |