专栏首页运维前线Web服务器 .svn隐藏文件夹漏洞修复和杜绝

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

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,deny
Deny from all
</Directory>

# 更改完成,重启apache
  • 查找服务器上所有.svn隐藏文件夹,删除

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

# 以web根目录/data/www/ 为例

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
  • 使用脚本一次性删除.svn目录
#!/bin/sh
cd /data/www
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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SVN Client常用命令

    之前写过一篇关于如何安装SVN Server的内容,也亲在CentOS上实践过,可能对系统管理员比较有用,再写一篇对普通开发者有点帮助的SVN Client常用...

    雷大亨
  • 关于 IntelliJ IDEA 中 Schedule for Addition 的问题

    在我们使用 IntelliJ IDEA 的时候,经常会遇到这种情况,即: 从 SVN 检出项目之后,并用 IDEA 首次打开项目,IDEA 会弹出如下选择框: ...

    CG国斌
  • TortoiseSVN与VisualSVN Server搭建SVN版本控制系统

    本片主要介绍如何搭建SVN版本控制系统,主要使用工具:   1 客户端:TortoiseSVN (小乌龟)   2 服务端:VisualSVN Serve...

    用户1154259
  • 后台系统搭建记录

    背景: 最近一段时候由于需要搭建后台测试系统,因此需要在centos系统下搭建mysql、apache、fastcgi、svn,由于网上的教程比较零散并且很多...

    IMWeb前端团队
  • From svn to git 你要知道的东西

    最近团队项目准备从svn往git迁,于是做了一些相关的了解,发现svn跟git还是有很多不一样的,下面写了一些个人理解。 核心区别 分布式 vs 集中式 git...

    IMWeb前端团队
  • Eclipse安装SVN插件

    SVN插件下载地址及更新地址,你根据需要选择你需要的版本。现在最新是1.8.x Links for 1.8.x Release: Eclipse updat...

    似水的流年
  • Rails存储库从SVN转向Git

    在Ruby on Rails 2.1版本发布的前夕,Rails开发团队也准备将代码的存储库从Subversion迁移到Git之上。在Ruby on Rails的...

    用户1172164
  • 【SVN多用户开发】代码冲突&解决办法

    SVN是一款集中式的代码存储工具,可以帮助多个用户协同开发同一应用程序。 但是SVN不能完全代替人工操作,有时也需要程序员自己进行沟通确认有效的代码。 下...

    用户1154259
  • 详述 IntelliJ IDEA 提交代码前的 Code Analysis 机制

    在我们用 IntelliJ IDEA 向 SVN 或者 Git 提交代码的时候,IntelliJ IDEA 提供了一个自动分析代码的功能,即Perform co...

    CG国斌

扫码关注云+社区

领取腾讯云代金券