From 376899d923ce1bf5a05b83b13b033167640aab2b Mon Sep 17 00:00:00 2001 From: mudasir <96320211+mud-ali@users.noreply.github.com> Date: Sun, 20 Aug 2023 19:23:12 +0000 Subject: [PATCH] foren/headers-ii (#8) * file headers chall part 2 * make it work --- headers-ii/chall.yaml | 16 ++++++++++++++++ headers-ii/flag.png | Bin 0 -> 6861 bytes headers-ii/funfile | Bin 0 -> 17611 bytes headers-ii/generator.py | 25 +++++++++++++++++++++++++ headers-ii/solve/solve.md | 8 ++++++++ headers-ii/solve/solve.png | Bin 0 -> 6861 bytes headers-ii/solve/solve.py | 6 ++++++ 7 files changed, 55 insertions(+) create mode 100644 headers-ii/chall.yaml create mode 100644 headers-ii/flag.png create mode 100644 headers-ii/funfile create mode 100644 headers-ii/generator.py create mode 100644 headers-ii/solve/solve.md create mode 100644 headers-ii/solve/solve.png create mode 100644 headers-ii/solve/solve.py diff --git a/headers-ii/chall.yaml b/headers-ii/chall.yaml new file mode 100644 index 0000000..73df0e4 --- /dev/null +++ b/headers-ii/chall.yaml @@ -0,0 +1,16 @@ +name: Headers II +categories: + - foren +value: 75 +flag: camp{wH@7s_an_3xTr@_f!l3_aNYw@y$_r3dhi8ib28bf} +description: |- + My friends are passing even weirder files within the group chat now. + I have no clue what they're trying to hide this time. +hints: + - There's no file extension, but what other way could I figure out what type of file it is? + - Someone told me there might be multiple files (even though they only sent one) +files: + - src: funfile +authors: + - Mudasir +visible: true diff --git a/headers-ii/flag.png b/headers-ii/flag.png new file mode 100644 index 0000000000000000000000000000000000000000..b0fee058cc3f72b441bae3faadc79b3f95d24021 GIT binary patch literal 6861 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 V5iKtxV*h+oURqhIO2R1k{{Tf{ulN7} literal 0 HcmV?d00001 diff --git a/headers-ii/generator.py b/headers-ii/generator.py new file mode 100644 index 0000000..e23a631 --- /dev/null +++ b/headers-ii/generator.py @@ -0,0 +1,25 @@ +''' +@author Mudasir + +some util function(s) to generate flag and copy it to video +''' + +from PIL import Image, ImageDraw, ImageFont +import io + +FLAG = 'camp{wH@7s_an_3xTr@_f!l3_aNYw@y$_r3dhi8ib28bf}' + +def generate_flag(): + final_bytes = io.BytesIO() + img = Image.new('RGB', (600, 100), color = (0, 0, 0)) + d = ImageDraw.Draw(img) + fnt = ImageFont.truetype('arial.ttf', 20) + d.text((40,30), FLAG, font=fnt, fill=(255,255,255)) + # img.save('flag.png') + img.save(final_bytes, format='PNG') + final_bytes = final_bytes.getvalue() + + with open('funfile', '+ab') as f2: + f2.write(final_bytes) + +generate_flag() \ No newline at end of file diff --git a/headers-ii/solve/solve.md b/headers-ii/solve/solve.md new file mode 100644 index 0000000..1a10e12 --- /dev/null +++ b/headers-ii/solve/solve.md @@ -0,0 +1,8 @@ +# File headers + +Hint in the name: headers. Despite the lack of a file extension we can check the file header / magic number See: (https://en.wikipedia.org/wiki/List_of_file_signatures)[https://en.wikipedia.org/wiki/List_of_file_signatures] for more information on file headers. + +Opening the file in a text and/or hex editor shows us that we have an mp4 file. However, the video does not open in a media player. Further examination would show that the file has a PNG glued on to it. Separating the files shows us that the video is a red herring, and the PNG has the flag. + + +Script is included at (solve.py)[solve.py], run in the same directory as the file. It creates (solve.png)[solve.png] with the flag. diff --git a/headers-ii/solve/solve.png b/headers-ii/solve/solve.png new file mode 100644 index 0000000000000000000000000000000000000000..b0fee058cc3f72b441bae3faadc79b3f95d24021 GIT binary patch literal 6861 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