常见web源码泄露总结 2017-12-01 02:18:27 Steven Xeldax ## .hg源码泄露 ### 漏洞成因 hg init的时候会生成.hg e.h http://www.example.com/.hg/ ### 漏洞利用 工具: dvcs-ripper rip-hg.pl -v -u http://www.example.com ## .git源码泄露 ### 漏洞成因 在运行git init初始化代码库的时候,会在当前目录下产生一个git的隐藏文件,用来记录代码的变更记录,在发布的时候,把.git这个目录没有删除,直接发布了。使用这这个文件,可以用来恢复源代码。 ### 漏洞利用 工具: githack dvcs-ripper ## .DS_Store文件泄露 ### 漏洞成因 在发布代码时未删除文件夹中隐藏的DS_store,被发现后,获取了敏感的文件等信息。 ### 漏洞利用 http://www.example.com/.ds_store 工具:dsstoreexp python ds_store_exp.py xxxxxxxxxxx ## 文章备份压缩文件 ### 漏洞成因 把备份文件直接放下了web目录下 ### 漏洞利用 扫描压缩文件 ## svn文件泄露 ### 漏洞成因 svn也是一个版本控制工具,默认数据存在在.svn的文件夹当中。 ### 漏洞利用 工具: dvcs-ripper ## WEB-INF/web.xml泄露 ### 漏洞成因 WEB-INF是java的web应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对访问的文件进行相应映射才能访问。 WEB-INF主要包含一下文件或目录: · /WEB-INF/web.xml: web应用程序配置文件,描述了servlet和其他的应用组件配置及命名规则。 · /WEB-INF/classes/:包含了站点所有用的class文件他们不能放在.jar文件中。 · /WEB-INF/lib/:存放web应用中需要用到的各种.jar文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件 · /WEB-INF/src/:源码目录,按照包名结构放置各个java文件。 · /WEB-INF/database.properties:数据库配置文件 ’ ### 漏洞利用 通过找到web.xml文件,推断class文件的路径,最后直接找到class文件,在通过反编译class文件,得到网站的源代码。 一般情况下,jsp引擎都是禁止访问WEB-INF目录的,所以一般这种漏洞是很难遇到的,就不用想了。 但是,nginx配合tomcat做负载均衡或集群等情况时,问题原因其实很简单,nginx不会去考虑其他jsp引擎的配置引入到自身的安全规范中来,所以会出现这个问题。 解决办法是修改nginx配置文件禁止访问web-inf目录就好 location ~ ^/WEB-INF/*{deny all;} ## cvs文件泄露 ### 漏洞利用 bk clone xxxxxxx/name dir ## bazaar/bzr文件泄露 ### 漏洞利用 工具:dvcs-ripper rip-bzr.pl -v -u http://xxxxxxxxxxxx/.bzr ============================== 工具推荐:weakfilescan