SVN源代碼泄露漏洞

產生原因:

SVN(subversion)是源代碼版本管理軟件,造成SVN源代碼漏洞的主要原因是管理員操作不規範。「在使用SVN管理本地代碼過程中,會自動生成一個名爲.svn的隱藏文件夾,其中包含重要的源代碼信息。但一些網站管理員在發佈代碼時,不願意使用‘導出’功能,而是直接複製代碼文件夾到WEB服務器上,這就使.svn隱藏文件夾被暴露於外網環境,黑客可以藉助其中包含的用於版本信息追蹤的‘entries’文件,逐步摸清站點結構。」(可以利用.svn/entries文件,獲取到服務器源碼、svn服務器賬號密碼等信息)更嚴重的問題在於,SVN產生的.svn目錄下還包含了以.svn-base結尾的源代碼文件副本(低版本SVN具體路徑爲text-base目錄,高版本SVN爲pristine目錄),如果服務器沒有對此類後綴做解析,黑客則可以直接獲得文件源代碼。

漏洞發現

在url後加/.svn/all-wcprops或者使用工具SvnExploit測試,例如:
在這裏插入圖片描述
使用工具檢測:
在這裏插入圖片描述

防禦措施

1.查找服務器上所有.svn隱藏文件夾,刪除; 2.開發人員在使用SVN時,嚴格使用導出功能,禁止直接複製代碼。