People often ask me "How did you learn how to hack?" The answer: by reading. This page is a collection of the blog posts and other articles that I have accumulated over the years of my journey. Enjoy!
react-native-community/cli. This will create a project structure with proper dependencies and configuration files. To start the application, use npx react-native start.@react-native-community/cli from a URL parameter in runServer.js. The added middleware handler /open-url will open a URL via the open() function in NodeJS. The whole reason behind this isn't explained in the article.open() command is very versatile - for good or for bad. On Windows, the command is passed as arguments to cmd and executed using childProcess.spawn(). This also works for URLs, thanks to the default URL scheme handler. By placing a bash command here, it's possible to achieve RCE on the development machine via a single URL parameter.open() expects separate strings for different parameters on the CLI, unlike Windows. So, this doesn't have an easy path to RCE. It can perform remote file loading via smb:// and execute a local file via file://- Wait, isn't this only on localhost? The dev server binds to
0.0.0.0 for some reason. What's hilarious about this is that there's a log message that says "Starting dev server on http://localhost:8081". Overall, a good post on the root cause of a pretty simple issue.