1. 程式人生 > >墨者_SVN信息泄露漏洞分析

墨者_SVN信息泄露漏洞分析

目錄掃描 而且 hellip 根目錄 qlite erl 原始的 nbsp 版本

墨者網址:https://www.mozhe.cn/bug/detail/RG1RdXAwSjAwMXZzaW9YR2lRTmUyQT09bW96aGUmozhe 在服務器上布署代碼時。如果是使用 svn checkout 功能來更新代碼,而沒有配置好目錄訪問權限,則會存在此漏洞。黑客利用此漏洞,可以下載整套網站的源代碼。 使用svn checkout後,項目目錄下會生成隱藏的.svn文件夾(Linux上用ls命令看不到,要用ls -al命令)。 svn1.6及以前版本會在項目的每個文件夾下都生成一個.svn文件夾,裏面包含了所有文件的備份,文件名為 .svn/text-base/文件名.svn-base 目錄掃描掃出來的 技術分享圖片

下載 技術分享圖片

技術分享圖片

svn1.7及以後版本則只在項目根目錄生成一個.svn文件夾,裏面的pristine文件夾裏包含了整個項目的所有文件備份 技術分享圖片

用SQLiteStudio軟件打開 wc.db文件,我們看到 NODES 表,看到 local relpath欄 和 checksum欄,明白了嗎(滑稽.jpg)。checksum欄裏的$sha1$後面的那串數字就是pristine文件夾裏的那堆文件的文件名,pristine裏的00~ff文件夾,其實是文件名的前兩位,而local relpath就是原始的文件名。 現在,我們根據這個 wc.db 的NODES表,遍歷這個表裏的每一行,就可以下載到整個項目裏的代碼了,而且還能得到對應的真實文件名,可謂豈不快哉? 技術分享圖片

除了NODES表以外,還可以看到一個 REPOSITORY表,裏面存儲了svn的項目路徑和 uuid,如果沒有做訪問IP限制的話,你可以直接使用此信息取得此項目的SVN權限(下載、提交等)… 四、漏洞修復 方案一、不要使用svn checkout和svn up更新服務器上的代碼,使用svn export(導出)功能代替。 方案二、服務器軟件(Nginx、apache、tomcat、IIS等)設置目錄權限,禁止訪問.svn目錄

墨者_SVN信息泄露漏洞分析