Re: argc issue

"mike davis" <[email protected]>
Newsgroups gmane.comp.security.vulnerabilities
Message-ID <001901c68024$2e9e1d90$0202a8c0@cheshire>
the trick here is to use a wrapper program to that calls the executable 
without *any arguments* including argv[0]


at that point argc == 0 argv[0] == NULL
and argv[1] is somewhere in the the environmental variables..

and.. as an asside, when playing wargames.. its usually best not to cheat or 
you really get nothing out of it.

-phar
----- Original Message ----- 
From: <[email protected]>
To: <[email protected]>
Sent: Tuesday, May 23, 2006 1:51 PM
Subject: argc issue


hi!

i' ve a code thats looks like:

------------------- code ----------------------
int main (int argc, char **argv)
{
char *a;
char *b;

a=malloc(char *)(100);
b=malloc(char *)(100);

 if (argc)
    exit (-1);
 else {
      strcpy(a,argv[1]);
      }

free (a);

return 0;
}

---------------- code ---------------------------

I contais an explotable heap overflow. I can overwrite b's chunk head so I
can write into DTOR_END the addr i want.

But the main issue is " if (argc) exit(0);" . How can I change the argc
variable so it contais the value of 0?.

thanks and srry for my poor english :(
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.