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)