diff --git a/cscg24/pwn/intro-pwn-1/Dockerfile b/cscg24/pwn/intro-pwn-1/Dockerfile new file mode 100644 index 0000000..76a8896 --- /dev/null +++ b/cscg24/pwn/intro-pwn-1/Dockerfile @@ -0,0 +1,7 @@ +# docker build -t pwn1 . && docker run -p 1024:1024 --rm -it pwn1 + +FROM ubuntu:22.04 +COPY pwn1 flag ynetd . + +EXPOSE 1024 +CMD ./ynetd ./pwn1 diff --git a/cscg24/pwn/intro-pwn-1/flag b/cscg24/pwn/intro-pwn-1/flag new file mode 100644 index 0000000..b9414bc --- /dev/null +++ b/cscg24/pwn/intro-pwn-1/flag @@ -0,0 +1 @@ +CSCG{THIS_IS_TEST_FLAG} \ No newline at end of file diff --git a/cscg24/pwn/intro-pwn-1/pwn1 b/cscg24/pwn/intro-pwn-1/pwn1 new file mode 100755 index 0000000..4b824c7 Binary files /dev/null and b/cscg24/pwn/intro-pwn-1/pwn1 differ diff --git a/cscg24/pwn/intro-pwn-1/pwn1.c b/cscg24/pwn/intro-pwn-1/pwn1.c new file mode 100644 index 0000000..cafa804 --- /dev/null +++ b/cscg24/pwn/intro-pwn-1/pwn1.c @@ -0,0 +1,70 @@ +#include +#include +#include +#include +#include + +// pwn1: gcc pwn1.c -o pwn1 + +// --------------------------------------------------- SETUP + +void ignore_me_init_buffering() { + setvbuf(stdout, NULL, _IONBF, 0); + setvbuf(stdin, NULL, _IONBF, 0); + setvbuf(stderr, NULL, _IONBF, 0); +} + +void kill_on_timeout(int sig) { + if (sig == SIGALRM) { + printf("[!] Anti DoS Signal. Patch me out for testing."); + _exit(0); + } +} + +void ignore_me_init_signal() { + signal(SIGALRM, kill_on_timeout); + alarm(60); +} + +// --------------------------------------------------- MENU + +void WINgardium_leviosa() { + printf("┌───────────────────────┐\n"); + printf("│ You are a Slytherin.. │\n"); + printf("└───────────────────────┘\n"); + system("/bin/sh"); +} + +void welcome() { + char read_buf[0xff]; + printf("Enter your witch name:\n"); + gets(read_buf); + printf("┌───────────────────────┐\n"); + printf("│ You are a Hufflepuff! │\n"); + printf("└───────────────────────┘\n"); + printf(read_buf); +} + +void AAAAAAAA() { + char read_buf[0xff]; + + printf(" enter your magic spell:\n"); + gets(read_buf); + if(strcmp(read_buf, "Expelliarmus") == 0) { + printf("~ Protego!\n"); + } else { + printf("-10 Points for Hufflepuff!\n"); + _exit(0); + } +} +// --------------------------------------------------- MAIN + +void main(int argc, char* argv[]) { + ignore_me_init_buffering(); + ignore_me_init_signal(); + + welcome(); + AAAAAAAA(); +} + + diff --git a/cscg24/pwn/intro-pwn-1/ynetd b/cscg24/pwn/intro-pwn-1/ynetd new file mode 100755 index 0000000..0b1b2b0 Binary files /dev/null and b/cscg24/pwn/intro-pwn-1/ynetd differ