# monkey - exploitation
> nc 202.112.51.248 2333>> http://ftp.mozilla.org/pub/firefox/nightly/2016/07/2016-07-31-03-02-03-mozilla-central/jsshell-linux-x86_64.zip
So, we got a link to a Javascript shell - straight from Mozilla's servers. Atfirst I thought we had to use an exploit that was later fixed, since thelinked build is almost a year old. But after looking through the changelog andfinding nothing interesting, I started exploring what capabilites are builtinto the shell.
The [list of built in functions](https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_shell)seemed pretty unhelpful apart from the `read()` function, but without some wayto navigate the file system I was stuck. Spent some time looking around the[shell source code](https://dxr.mozilla.org/mozilla-central/source/js/src/shell/js.cpp)until I searched globally for `JSFunctionSpecWithHelp` to find other functionsthat might possibly help, and saw that there was a separate `os` namespace,which also included `os.system()`!
Not sure if this was the intended way to solve the challenge, but with fullaccess to shell commands it was easy to locate and grab the flag.