2016-05-12 10 views
0

Ich versuche einige Skripte von exploit-db zu kompilieren, indem ich GCC (Linux Derbian) benutze, und wenn ich den gcc-Befehl zum kompilieren des Codes (gcc -o test test.c) ausspare, bekomme ich einen Nachricht, die besagt, dass die Dateien "linux/linkage.h" und "asm/page.h" nicht gefunden wurden.C Headers (GCC)

Als ich den Befehl $ locate.h ausgab, fand ich, dass diese Dateien in "/usr/src/linux-headers-4.3.0-kali1-common/include/linux/linkage.h" und " /usr/src/linux-headers-4.3.0-kali1-common/include/asm/page.h ".

Gibt es überhaupt GCC zu sagen, diesen Pfad zu berücksichtigen oder vielleicht den Standardpfad zu ändern?

Unten finden Sie ein paar Zeilen des Codes, den ich zu kompilieren versuche.

/* 
* Linux kernel 2.4 uselib() privilege elevation exploit. 
* 
* original exploit source from http://isec.pl 
* reference: http://isec.pl/vulnerabilities/isec-0021-uselib.txt 
* 
* I modified the Paul Starzetz's exploit, made it more possible 
* to race successfully. The exploit still works only on 2.4 series. 
* It should be also works on 2.4 SMP, but not easy. 
* 
* thx newbug. 
* 
* Tim Hsu <timhsu at chroot.org> Jan 2005. 
* 
*/ 

#define _GNU_SOURCE 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
#include <fcntl.h> 
#include <unistd.h> 
#include <errno.h> 
#include <sched.h> 
#include <syscall.h> 
#include <limits.h> 

#include <sys/types.h> 
#include <sys/wait.h> 
#include <sys/time.h> 
#include <sys/mman.h> 
#include <sys/sysinfo.h> 

#include <linux/elf.h> 
#include <linux/linkage.h> 

#include <asm/page.h> 
#include <asm/ldt.h> 
#include <asm/segment.h> 

#define str(s) #s 
#define xstr(s) str(s) 

Antwort

0

Verwenden der Flag umfassen,

gcc -I"/usr/src/linux-headers-4.3.0-kali1-common/include/" -o test test.c