Rooting Fluxcapacitor box
Please read the disclamer
Hello this a writeup for a box from HackTheBox which is focused mainly on WAF Bypassing.
First things first, we launch a nmap to scan for open ports,
nmap -sC -sV 10.10.10.69 -T4 -v

Cool port 80 is open, checking the source code we find the following

browsing to this /sync file, returns a forbidden page ummm… that’s weird, I tried to curl it
curl "10.10.10.69/sync" -v

Well… we have a WAF here :D, after poking around I found it blocks requests that contain ; and other special characters.
Let’s run wfuzz to bruteforce some existing parameters
wfuzz -w /usr/share/wordlist/directory-list-2.3-medium.txt --hh 19 "http://10.10.10.69/sync?FUZZ=random'stuff"

great opt is the right parameter, after playing with it, I found out that it blocks words like ls cat etc …
this can be easily bypassed by adding quotes like the following l's' which equals ls this happens because all adjacent string literals are concatenated in Bash, by doing that I bypassed the WAF but still no command execution…
After an extensive manual fuzzing, i found that if I put opt=' i'd'' I get command execution !!!

cool, let’s run sudo -l

We can execute /home/themiddle/.monit as root, let’s check that file

Easy!, we just have to run this script and give it 2 arguments, the first one must be cmd and the second one our command base64 encoded and we are root !
