Outils d'utilisateurs

Outils du Site


overthewire_narnia:level6

Ceci est une ancienne révision du document !


Level 6

ssh narnia6@narnia.labs.overthewire.org
pass : neezocaeng
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
extern char **environ;
 
int main(int argc, char *argv[]){
	char b1[8], b2[8];
	int  (*fp)(char *)=(int(*)(char *))&puts, i;
 
	if(argc!=3){ printf("%s b1 b2\n", argv[0]); exit(-1); }
 
	/* clear environ */
	for(i=0; environ[i] != NULL; i++)
		memset(environ[i], '\0', strlen(environ[i]));
	/* clear argz    */
	for(i=3; argv[i] != NULL; i++)
		memset(argv[i], '\0', strlen(argv[i]));
 
	strcpy(b1,argv[1]);
	strcpy(b2,argv[2]);
	if(((unsigned long)fp & 0xff000000) == 0xff000000)
		exit(-1);
	fp(b1);
 
	exit(1);
}
overthewire_narnia/level6.1362165553.txt.gz · Dernière modification: 2017/04/09 15:33 (modification externe)