svn源码泄漏

看案例的时候,看到了这个漏洞。总结一下。

svn 是源代码版本管理软件,造成svn源代码漏洞的主要原因是管理员操作不规范。
在使用svn管理本地代码的时候,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源码信息。
但是有的管理者在发布代码的时候,偷懒,不使用导出功能。而是直接复制代码文件夹到web服务器上。导致.svn隐藏文件夹暴露在外网环境中。
然后在看看.svn下的entries 文件。
这个文件是用于版本信息追踪的。从而会得到一些意想不到的收获。
举例:https://www.xxx.com/.svn/entries
然后就海阔凭鱼跃,天高任鸟飞。
修复
1、在web服务器配置文件中增加一段代码,过滤到.svn文件,返回404

nginx服务器:

location ~ ^(.*)/.svn/

{

return 404;

}

重启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 隐藏文件夹

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
优化.svn目录大小的一种方法是不拷贝一份.svn目录。一般情况下,.svn目录会存储版本控制所需的信息,包括每个文件的历史记录和元数据等。然而,这些信息对于正常的代码使用来说并不需要,因此可以通过以下步骤来优化.svn目录的大小。 第一步,删除不必要的.svn文件。在.svn目录下存在一些不必要的文件或文件夹,可以将其删除来减小.svn目录的大小。例如,可以删除entries、wcprops、prop-base等文件和目录,因为它们不影响代码的正常使用。 第二步,压缩.svn目录。通过使用压缩工具,如7-Zip等,对.svn目录进行压缩,可以进一步减小其大小。压缩后的.svn目录可以在需要的时候解压缩来恢复其功能。 第三步,使用稳定的版本控制工具。有些版本控制工具会在.svn目录中保留大量的历史记录,导致.svn目录变得庞大。为了优化.svn目录的大小,可以选择使用更稳定的版本控制工具,如Git等,它们在.svn目录中存储的信息相对较少。 优化.svn目录大小的另一种方法是使用SVN的sparse checkout功能。通过设置sparse checkout,只获取需要的文件和目录,而不会拷贝完整的.svn目录。这样可以有效减小.svn目录的大小,提高工作效率。 综上所述,优化.svn目录大小的方法包括删除不必要的文件、压缩.svn目录、使用稳定的版本控制工具以及使用SVN的sparse checkout功能。这些方法可以帮助减小.svn目录的大小,提高代码管理效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值