说明: 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服务器: <Directory ~ "\.svn"> Order allow,deny Deny from all </Directory> 重启Apache 2、查找服务器上所有.svn隐藏文件夹,删除 以下命令删除当前目录下.svn文件夹 find . -type d -name ".svn"|xargs rm -rf rm -rf `find [...]
查看全文