JFSA-2025-001495618 - React Native CLI 中的严重命令注入
由 React Native CLI 打开的 Metro 开发服务器,默认绑定到外部接口。该服务器暴露了一个端点 (/open-url),容易受到操作系统命令注入攻击。这允许未经身份验证的网络攻击者向服务器发送 POST 请求并运行任意可执行文件。
react-native-cli-command-injection-demo/
├── README.md # This file
├── vulnerable-setup/
│ ├── package.json # Vulnerable version setup
│ ├── metro.config.js # Metro configuration
│ └── start-vulnerable.js # Script to start vulnerable server
├── exploit-examples/
│ ├── basic-exploit.sh # Basic command injection example
│ ├── windows-exploit.sh # Windows-specific exploit
│ ├── advanced-exploit.py # Advanced exploitation script
│ └── payload-examples.json # Various payload examples
├── secure-setup/
│ ├── package.json # Fixed version setup
│ ├── metro.config.js # Secure configuration
│ └── start-secure.js # Secure server startup
└── mitigation/
├── SECURITY.md # Security recommendations
└── host-binding-examples.sh # Host binding examples
cd vulnerable-setup
npm install
npm run start:vulnerable
cd exploit-examples
./basic-exploit.sh
cd secure-setup
npm install
npm run start:secure
此演示仅供教育目的。请勿在生产环境中或针对不属于您的系统使用这些示例。请始终遵循负责任的披露实践。