一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Web服务器.svn隐藏文件夹漏洞利用、修复和杜绝

时间:2015-06-25 编辑:简简单单 来源:一聚教程网

说明:

SVN(subversion)是源代码版本管理软件,

在SVN的使用中,
会自动生成一个名为.svn的隐藏文件夹,
其中包含重要的源代码信息。
如果在发布代码时,直接复制代码文件夹到Web服务器,
同时.svn隐藏文件夹也被上传到程序根目录,
可以利用.svn/entries文件,获取到服务器源码、svn服务器账号密码等信息。

一、此隐藏文件夹是怎么来的?

从svn获取发布版本时,没有正确使用svn导出功能导致!

具体细节,乌云上面有篇文章,可以参考。

二、黑客是如何利用svn隐藏文件漏洞的?

1、漏洞利用工具:Seay SVN漏洞利用工具(请自己下载)

2、添加网站url

在被利用的网址后面加/.svn/entries

系统运维  www.osyunwei.com  温馨提醒:系统运维原创内容©版权所有,转载请注明出处及原文链接

就能列出来网站目录,甚至下载整站。

三、修复漏洞

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

四、杜绝此类漏洞

开发人员在使用SVN时,严格使用导出功能。禁止直接复制代码。

热门栏目