## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-IM-EZBOY-CVE-2025-55182-ZOOMEYE
# Zoomeye Next.js RCE Scanner
ΠΠ²ΡΠΎΡ: im-ezboy
Π‘ΠΊΠ°Π½Π΅Ρ Π΄Π»Ρ Next.js RCE (CVE-2025-55182) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠΈΡΠΊΠ° Zoomeye. ΠΠ°Ρ
ΠΎΠ΄ΠΈΡ ΡΠ΅Π»ΠΈ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΠΎΡΡ Zoomeye ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΈΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΏΠ»ΠΎΠΉΡ-ΠΏΠ΅ΠΉΠ»ΠΎΠ°Π΄Π°.
## ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
* ΠΠ²Π° ΡΠ΅Π»Π΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ
Zoomeye-Π΄ΠΎΡΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
* `http.header="Vary: RSC, Next-Router-State-Tree"`
* `vul.cve="CVE-2025-55182"`
* ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 20 ΠΏΠΎΡΠΎΠΊΠΎΠ²) Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°.
* Π‘ΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ ΡΡΠ·Π²ΠΈΠΌΡΠ΅ ΡΠ΅Π»ΠΈ Π² `vulnerable_zoomeye_*.txt` ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ JSON-ΠΎΡΡΡΡ.
* ΠΡΠ²ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ ΡΡΠ·Π²ΠΈΠΌΡΠ΅ ΡΠ΅Π»ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΡΠΌΠΈ Π΄Π»Ρ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ.
* ΠΠ°Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² (ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ 500 000) Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠΌΠΎΠΌ.
## Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
* Python 3.8+
* ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ: `requests`, `tqdm`
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ:
root@kitploit:~
pip install requests tqdm
## ΠΠ°ΡΡΡΠΎΠΉΠΊΠ°
ΠΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠΉΡΠ΅ `zoomeye.py`:
* `ZOOMEYE_API_KEY` β Π²ΡΡΠ°Π²ΡΡΠ΅ ΡΡΠ΄Π° Π²Π°Ρ API-ΠΊΠ»ΡΡ Zoomeye (ΡΠ΄Π°Π»ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ Π² ΠΎΡΠΊΡΡΡΡΡ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
).
* ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ: `ZOOMEYE_USERNAME`, `ZOOMEYE_PASSWORD` Π΅ΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅ JWT-Π»ΠΎΠ³ΠΈΠ½ (ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΏΡΡΡΡΠΌΠΈ Π΄Π»Ρ API-ΠΊΠ»ΡΡΠ°).
* `RESULTS_PER_QUERY` (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 1000) ΠΈ `MAX_PAGES` (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 200) β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠ°Π³ΠΈΠ½Π°ΡΠΈΠΈ; Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠ»Π°Π½Π°.
* `MAX_TOTAL_LIMIT` (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 500_000) β ΠΆΡΡΡΠΊΠΈΠΉ Π»ΠΈΠΌΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ².
* `SCAN_THREADS` (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 20) ΠΈ `REQUEST_TIMEOUT` (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 10Ρ) β ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΠΈ.
## ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
root@kitploit:~
python3 zoomeye.py
ΠΠ°Ρ ΠΏΠΎΠΏΡΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π»ΠΈΠΌΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² (<= 500000). ΠΠ°ΠΆΠΌΠΈΡΠ΅ Enter, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (RESULTS_PER_QUERY * 2).
ΠΡΠΈΠΌΠ΅Ρ:
root@kitploit:~
Enter max total results to collect (<= 500000, blank=default 2000):
## ΠΡΠ²ΠΎΠ΄
* ΠΠΎΠ½ΡΠΎΠ»Ρ:
* Π Π°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»ΠΈ ΡΠ΅ΠΊΡΠΈΠΉ (`============================`) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ°.
* ΠΡΠ»ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π½Π°ΠΉΠ΄Π΅Π½Ρ, ΠΎΠ½ΠΈ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ ΠΊΡΠ°ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ.
* Π€Π°ΠΉΠ»Ρ:
* `vulnerable_zoomeye_YYYYMMDD_HHMMSS.txt` β ΡΡΠ·Π²ΠΈΠΌΡΠ΅ ΡΠ΅Π»ΠΈ (ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π½Π° ΡΡΡΠΎΠΊΡ).
* `report_zoomeye_YYYYMMDD_HHMMSS.json` β ΡΠ²ΠΎΠ΄ΠΊΠ° ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅.
## ΠΠ°ΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ GitHub
* ΠΠ΅ΡΠ΅Π΄ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠΌ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π°ΡΡΠΎΡΡΠΈΠ΅ API-ΠΊΠ»ΡΡΠΈ.
* ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π·Π°Π³ΡΡΠΆΠ°ΠΉΡΠ΅ ΠΊΠ»ΡΡ ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΆΡΡΡΠΊΠΎΠΉ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ.
* ΠΠΎΠ±Π°Π²ΡΡΠ΅ `vulnerable_*.txt` ΠΈ `report_*.json` Π² Π²Π°Ρ `.gitignore`, Π΅ΡΠ»ΠΈ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
## ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
* ΠΠΎΠ»ΡΡΠΈΠ΅ Π»ΠΈΠΌΠΈΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΡ Π»ΠΈΠΌΠΈΡΠΎΠ² ΡΠΊΠΎΡΠΎΡΡΠΈ Zoomeye ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΠ»Π°Π½Π°; Π½Π°ΡΡΡΠΎΠΉΡΠ΅ `RESULTS_PER_QUERY`, `MAX_PAGES` ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΎΠ±ΡΠΈΠΉ Π»ΠΈΠΌΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
* ΠΠΊΡΠΏΠ»ΠΎΠΉΡ-ΠΏΠ΅ΠΉΠ»ΠΎΠ°Π΄ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ CVE-2025-55182; ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ΅Ρ
ΡΠ΅Π»ΡΡ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ.