svn泄露网站信息

今天老板请团队吃饭,我和小林瞎侃,聊到信息安全。

突然想到之前上线每次都是整个目录复制发布,很有可能存在svn信息泄露问题。

最近一直在忙着架构方面的东西,把这茬的测试给忘了。

一回到家就开了电脑测试,惊出一身冷汗,简直是核弹。

话不多说,看图,

SVN LEAKING information

这里面图片仅仅是展示能够根据这些东西读取出文件目录。这里就发现了一个备份数据库。

实际危害比图片看到的大得多。

这件事情也是对我敲响了一个警钟,安全问题,还是刻不容缓。

怎么修复?

  • 治标方法,删除所有.svn目录。

    进入要发布的目录执行,会将所有.svn目录删除

    1
    2
    find . -type d -name '.svn' | xargs rm -rf

  • 治本方法,规范整个代码发布流程。

    比如walle。如果用svn这类代码版本管理工具,最好用导出功能,别直接复制,.svn是隐藏目录。或者发布的时候,自己过滤掉这类敏感文件。

  • 未雨绸缪, 设置web服务器拒绝访问这类后缀的文件,顺便把sql文件也捎上。

    nginx -t 可以找到你的nginx配置文件

    1
    2
    3
    4
    5
    6
            location ~ .*.(svn|git|cvs|sql) {
    deny all;
    }

    #nginx -s reload

搞定,睡觉,明天估计要修改一大堆东西。

相关工具下载

SVN泄露文件利用工具

其实工具展示的信息是阉割版的了。有兴趣的自己下载相关文件分析,信息量爆炸。

关注公众号 尹安灿