From 2e48ed166d8bcd9dc1c51a3993996db75857489d Mon Sep 17 00:00:00 2001 From: lucky-vers Date: Mon, 27 Jan 2025 22:36:14 +0530 Subject: [PATCH] finish general stego and scripting --- hacksvctf-2025/general/bilingualism.md | 72 ++++++++++ .../general/for-the-love-by-the-love.md | 43 ++++++ hacksvctf-2025/general/obfuscated-life.md | 15 ++ hacksvctf-2025/general/weird-noise.md | 10 ++ .../general/what-an-amazing-play.md | 129 ++++++++++++++++++ hacksvctf-2025/scripting/too-many-cards.md | 7 + hacksvctf-2025/stego/the-attacks-of-26-12.md | 10 ++ 7 files changed, 286 insertions(+) create mode 100644 hacksvctf-2025/general/bilingualism.md create mode 100644 hacksvctf-2025/general/for-the-love-by-the-love.md create mode 100644 hacksvctf-2025/general/obfuscated-life.md create mode 100644 hacksvctf-2025/general/weird-noise.md create mode 100644 hacksvctf-2025/general/what-an-amazing-play.md create mode 100644 hacksvctf-2025/scripting/too-many-cards.md create mode 100644 hacksvctf-2025/stego/the-attacks-of-26-12.md diff --git a/hacksvctf-2025/general/bilingualism.md b/hacksvctf-2025/general/bilingualism.md new file mode 100644 index 0000000..1f1c7f2 --- /dev/null +++ b/hacksvctf-2025/general/bilingualism.md @@ -0,0 +1,72 @@ +**Flag:** `hacks{ijijkijkkji}` + +We're given a file with both whitespace (WS) language and JavaScript code + +```js + i=String. + + fromCharCode ( 9) +; + j=String +.fromCharCode(32) + ; k= +String + + + .fromCharCode +(10); + +console. + +log + +("i=" + ++i+ + +"j=" + ++j+"k=" + ++ + +k); + + + + + + + + + + +``` + +Putting it through a WS interpreter, we get the following output: + +``` +push 104 +push 97 +push 99 +push 107 +push 115 +push 123 +push 9 +push 32 +push 9 +push 32 +push 10 +push 9 +push 32 +push 10 +push 10 +push 32 +push 9 +push 125 +``` + +We also know that `i` is a tab, `j` is a space, and `k` is a newline. + +Putting it together, we get the flag. + diff --git a/hacksvctf-2025/general/for-the-love-by-the-love.md b/hacksvctf-2025/general/for-the-love-by-the-love.md new file mode 100644 index 0000000..7b03a51 --- /dev/null +++ b/hacksvctf-2025/general/for-the-love-by-the-love.md @@ -0,0 +1,43 @@ +**Flag:** `hacks{loueyougorgeous}` + +Taking the first letter of +``` +Knowing When Not To Worry About Small Hiccups Needs Quick Confidence And Calmness +``` + +Gives us `KWNTWASHNQCAC`. This is encrypted using the fractionated morse cipher. The decrypted output is `K0A7S0D5` — which is the password for the OneDrive link. + +The OneDrive link gives us text encrypted using the Bacon Cipher. Decoding it gives us this: + +``` +MYDEARESTMELANIEFROMTHEMOMENTYOUCAMEINT +OMYLIFEEUERYTHINGCHANGEDTHEWORLDFELTBRI +GHTERTHEDAYSSEEMEDLIGHTERANDMYHEARTFOUN +DARHYTHMITDIDNTKNOWITHADBEENSEARCHINGFO +RYOUAREMYSUNSHINEONCLOUDYDAYSANDTHECALM +INTHEMIDSTOFSTORMSYOURLAUGHTERISTHEMELO +DYTHATECHOESINMYSOULANDYOURSMILEOHYOURS +MILEHASTHEPOWERTOMELTAWAYALLWORRIESIFIN +DMYSELFAMAZEDBYTHELITTLETHINGSABOUTYOUH +OWYOUREYESLIGHTUPWHENYOUTALKABOUTSOMETH +INGYOUREPASSIONATEABOUTTHEWAYYOUUNCONSC +IOUSLYTILTYOURHEADWHENYOUREDEEPINTHOUGH +TANDHOWYOURPRESENCEALONEMAKESMEFEELATHO +MEWITHYOULOUEFEELSEFFORTLESSLIKEITWASAL +WAYSMEANTTOBEYOUUESHOWNMEWHATITTRULYMEA +NSTOCAREFORSOMEONESELFLESSLYANDFORTHATI +MENDLESSLYGRATEFULEUERYSHAREDMOMENTFROM +THESMALLESTOFCONUERSATIONSTOTHEGRANDEST +OFADUENTURESISATREASUREIHOLDCLOSETOMYHE +ARTIPROMISETOSTANDBYYOUTHROUGHEUERYIOYA +NDCHALLENGETOBEYOURGREATESTSUPPORTERAND +YOURSAFESTHAUENWHATEUERTHEFUTUREHOLDSIW +ANTTOFACEITWITHYOUHANDINHANDHEARTTOHEAR +TALWAYSANDFOREUERTHANKYOUFORBEINGYOUFOR +CHOOSINGMEANDFORFILLINGMYLIFEWITHMORELO +UETHANIEUERTHOUGHTPOSSIBLEYOURSALWAYSAN +DFOREUERSMITHHACKSLOUEYOUGORGEOUS +``` + +`HACKSLOUEYOUGORGEOUS` is the flag. + diff --git a/hacksvctf-2025/general/obfuscated-life.md b/hacksvctf-2025/general/obfuscated-life.md new file mode 100644 index 0000000..37cb3a9 --- /dev/null +++ b/hacksvctf-2025/general/obfuscated-life.md @@ -0,0 +1,15 @@ +**Flag:** `hacks{don't_be_a_obfuscated_nerd}` + +The JS code is obfuscated using https://obf-io.deobfuscate.io/. + +Deobfuscating it, we get the flag in the code. + +```js +function hi() { + if (document.domain == "obfuscator.io") { + console.log("hacks{don't_be_a_obfuscated_nerd}"); + } + console.log("Hmmmm I wonder where the flag is?"); +} +hi(); +``` diff --git a/hacksvctf-2025/general/weird-noise.md b/hacksvctf-2025/general/weird-noise.md new file mode 100644 index 0000000..f3a78e4 --- /dev/null +++ b/hacksvctf-2025/general/weird-noise.md @@ -0,0 +1,10 @@ +**Flag:** `hacks{sstv_r0cks}` + +The flag is encoded using base64 SSTV (Slow Scan Television) in the audio file. + +Decoding it gives us the flag. + +```bash +$ sstv -d *wav -o res.png +``` + diff --git a/hacksvctf-2025/general/what-an-amazing-play.md b/hacksvctf-2025/general/what-an-amazing-play.md new file mode 100644 index 0000000..8cc2572 --- /dev/null +++ b/hacksvctf-2025/general/what-an-amazing-play.md @@ -0,0 +1,129 @@ +**Flag:** `hacks{3t_7U_8r73?}` + +The code is written in the Shakespeare esolang. (https://esolangs.org/wiki/Shakespeare) + +All we need to do is add `Speak your mind!` statements where needed in the code. + +``` +Another Great CTF. + +Romeo, a good man with amazing humor. +Juliet, an amazing woman of remarkable grace. +Ophelia, a great woman in a dispute with Hamlet. +Hamlet, This guy needs no description. + + + Act I: Hamlet Talks. + + Scene I: The clever insult of everybody. + +[Enter Hamlet and Romeo] + +Hamlet: + You lying stupid fatherless big smelly disgusting coward! You are the product + of thyself and a pig! You are the product of yourself and a happy flower! + You are the sum of yourself and a big smelly disgusting rotten fatherless pig! + You are the sum of yourself and a happy peaceful little flower! Speak your mind! + + You are an amazing beautiful brave charming gentle healthy pony! + You are the sum of yourself and a beautiful little mighty gentle peaceful rose! + You are the sum of thyself and a plum! Speak your mind! + + You are a peaceful noble brave amazing gentle healthy king! + You are the sum of yourself and a beautiful little mighty gentle peaceful rose! + You are the sum of thyself and a plum! You are the sum of thyself and a cute flower! + Speak your mind! + + You are a trustworthy handsome fair fine smooth gentle mighty lord! + You are the sum of thyself and a lying miserable stinking sorry bastard! + You are the sum of thyself and a stupid stinking wolf! You are the sum of yourself + and a pig! Speak your mind! + + You are a dirty misused miserable rotten snotty worried vile leech! + You are the product of thyself and a toad! + You are the sum of yourself and a stupid stinking snotty infected goat! + You are the sum of yourself and a sweet warm pony! You are the sum of thyself and a pig! + Speak your mind! + + +[Exit Romeo] + + Scene II: The insult of Juliet. + + +[Enter Juliet] + +Hamlet: + Thou art as brave as the sum of your fat little stuffed misused dusty + old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. + You are the difference between yourself and a peaceful pretty proud rich smooth plum! + You are the sum of yourself and a warm happy summer's day! You are the sum of + thyself and a rose! You are the product of thyself and a pig! Speak your mind! + Speak your mind! + + + +[Exit Juliet] + + Scene III: The insult of Ophelia but she retaliates. + +[Enter Ophelia] + +Hamlet: + You are a fair fine gentle pretty amazing noble king. You are the difference + between thyself and a fine honest healthy charming angel. You are the sum of yourself + and a charming angel. You are the sum of yourself and a king. Speak your mind! + + You are as bad as Romeo. You are the sum of yourself and a pony. Speak your mind! + + You are as bad as Romeo. You are the difference between yourself and a fine + pretty noble honest lord! You are the difference between yourself and a rich sunny + pony! Speak your mind! + + You are a fair fine gentle pretty amazing noble king. You are the difference + between thyself and a fine honest healthy charming angel. You are the sum of yourself + and a charming angel. You are the sum of yourself and a king. You are the sum + of yourself and a pretty charming angel. Speak your mind! + + You are as bad as Romeo. You are the sum of yourself and a horrid infected lying + miserable rotten pig. You are the difference between yourself and a smelly wolf. + Speak your mind! + + You are as bad as Romeo. You are the difference between yourself and a fine + pretty noble honest lord! You are the difference between yourself and a rich sunny + pony! Speak your mind! + + You are a trustworthy sweet gentle pretty amazing noble king. You are the difference + between thyself and a fine honest healthy charming angel. You are the sum of yourself + and a charming angel. You are the sum of yourself and a king. You are the sum + of yourself and a pretty charming angel. You are the sum of yourself and + a rose. Speak your mind! + + You are as bad as Romeo. You are the difference between yourself and a hero. + Speak your mind! + + +Ophelia: + You are as bad as Romeo. You are the sum of yourself and a cute noble pony! + You are the difference between thyself and a pretty rose. + + + You are a sweet reddest gentle pretty amazing noble king. You are the difference + between thyself and a fine honest healthy charming angel. You are the sum of yourself + and a charming angel. You are the sum of yourself and a king. You are the sum + of yourself and a pretty charming angel. Speak your mind! + + You are a reddest sunny gentle pretty amazing noble king. You are the difference + between thyself and a fine honest healthy charming angel. You are the sum of yourself + and a charming angel. You are the sum of yourself and a king. Speak your mind! + + You are a rotten snotty sorry vile worried infected wolf. + You are the sum of yourself and a rose. You are the product of yourself and a toad. + Speak your mind! + + You are as bad as Juliet. You are the sum of thyself and a noble king. + Speak your mind! + + +[Exeunt] +``` diff --git a/hacksvctf-2025/scripting/too-many-cards.md b/hacksvctf-2025/scripting/too-many-cards.md new file mode 100644 index 0000000..bc8df9c --- /dev/null +++ b/hacksvctf-2025/scripting/too-many-cards.md @@ -0,0 +1,7 @@ +**Flag:** `hacks{8908-9089-0890-8908}` + +The numbers are rot-13 encoded and encoded in hex. Decoding them and running a check of Luhn's algorithm gives the flag. + +**References:** https://en.wikipedia.org/wiki/Luhn_algorithm + + diff --git a/hacksvctf-2025/stego/the-attacks-of-26-12.md b/hacksvctf-2025/stego/the-attacks-of-26-12.md new file mode 100644 index 0000000..856eba9 --- /dev/null +++ b/hacksvctf-2025/stego/the-attacks-of-26-12.md @@ -0,0 +1,10 @@ +**Flag:** `hacks{2300}` + +Running `strings` on `landscape.jpg` gives us this string + +``` +..............................................base64MjggRGVjZW1iZXIgMjAyNCwgMTkzMCBIb3VycyBNU0s=..................................... +``` + +This decodes to `28 December 2024, 1930 Hours MSK`, or in Indian Standard Time, `28 December 2024, 23:00 Hours IST`. +