SVN原始碼洩露漏洞

2021-08-16 08:37:00 字數 1222 閱讀 1463

svn(subversion)是源**版本管理軟體,造成svn源**漏洞的主要原因是管理員操作不規範。「在使用svn管理本地**過程中,會自動生成乙個名為.svn的隱藏資料夾,其中包含重要的源**資訊。但一些**管理員在發布**時,不願意使用『匯出』功能,而是直接複製**資料夾到web伺服器上,這就使.svn隱藏資料夾被暴露於外網環境,黑客可以借助其中包含的用於版本資訊追蹤的『entries』檔案,逐步摸清站點結構。」(可以利用.svn/entries檔案,獲取到伺服器原始碼、svn伺服器賬號密碼等資訊)

更嚴重的問題在於,svn產生的.svn目錄下還包含了以.svn-base結尾的源**檔案副本(低版本svn具體路徑為text-base目錄,高版本svn為pristine目錄),如果伺服器沒有對此類字尾做解析,黑客則可以直接獲得檔案源**。

利用1、漏洞利用工具: seay svn漏洞利用工具

2、新增**url

修復1、在web伺服器配置檔案中增加一段**,過濾到.svn檔案,返回404

nginx伺服器:

location ~ ^(.*)\/\.svn\/

重啟nginx

apache伺服器:

order allow,deny

deny from all

重啟apache

2、查詢伺服器上所有.svn隱藏資料夾,刪除

以下命令刪除當前目錄下.svn資料夾

find . -type d -name ".svn"|xargs rm -rf

rm -rf `find . -type d -name .svn`

find . -name ".svn" -type d | xargs rm -fr

find . -name ".svn" -type d | xargs -n1 rm -r

使用指令碼刪除

#!/bin/sh

cd /home/web/

find ./ -name ".svn" |xargs -n1 echo > /dev/null 2>&1

find ./ -name ".svn" -print0 | xargs -0 rm -fr

if [ $? -ne 0 ]; then

echo "remove .svn dirs failed!"

fi以上檔案儲存為.sh

執行之後,會刪除 /home/web目錄及其子目錄中 所有 .svn 隱藏資料夾

防禦開發人員在使用svn時,嚴格使用匯出功能。禁止直接複製**。

SVN原始碼洩露漏洞

svn subversion 是源 管理軟體,造成svn源 漏洞的主要原因是管理員操作不規範。在使用svn管理本地 過程中,會自動生成乙個名為.svn的隱藏資料夾,其中包含重要的源 資訊。但一些 管理員在發布 時,不願意使用 匯出 功能,而是直接複製 資料夾到web伺服器上,這就使.svn隱藏資料夾...

git原始碼洩露

0x00 原理 在 安全維護方面,git和svn資訊洩露是非常常見也是非常致命的乙個漏洞。當前大量開發人員使用git進行版本控制,對站點自動部署。如果配置不當,可能會將.git資料夾直接部署到線上環境。這就引起了git洩露漏洞。githack是乙個.git洩露利用指令碼,通過洩露的.git資料夾下的...

GitHack Git原始碼洩露

執行命令即可 一樣先是掃瞄發現 git 洩露 使用 githack 工具 clone 目標源 到本地 git原始碼洩露不止涉及到當前git版本時需要檢視歷史記錄 git loggit resetgit diffgit log 會出現先前的幾個版本資訊,注意要切換到原始碼洩露資料夾裡 dist 每個版...