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

来源:互联网 发布:基因大数据 编辑:程序博客网 时间:2024/06/15 12:54

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

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

隐藏文件夹是怎么来的?

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

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

  • 1、漏洞利用工具:Seay SVN漏洞利用工具

  • 2、添加网站url,在被利用的网址后面加/.svn/entries就能列出来网站目录,甚至下载整站

修复漏洞

  • 在web服务器配置文件中增加一段代码,过滤到.svn文件,返回404
# nginx服务器:location ~ ^(.*)\/\.svn\/{return 404;}# 更改完成,重启nginx#Apache服务器:<Directory ~ "\.svn">Order allow,denyDeny from all</Directory># 更改完成,重启apache
  • 查找服务器上所有.svn隐藏文件夹,删除

依次执行下面命令,在项目目录下删除.svn文件夹

# 以web根目录/data/www/ 为例find . -type d -name ".svn"|xargs rm -rfrm -rf `find . -type d -name .svn`find . -name ".svn" -type d | xargs rm -frfind . -name ".svn" -type d | xargs -n1 rm -R
  • 使用脚本一次性删除.svn目录
#!/bin/shcd /data/wwwfind ./ -name ".svn" | xargs -n1 echo > /dev/null 2>&1find ./ -name ".svn" -print0 | xargs -0 rm -frif [ $? -ne 0 ]; thenecho "remove .svn dirs failed!"fi

脚本执行完成,会自动删除/data/www目录及子目录所有.svn隐藏文件夹

原创粉丝点击