目录00x1 .ng源码泄露 00x2  git源码泄露 00x3 .DS_Store文件泄漏 00x4 网站备份压缩文件 00x5 SVN导致文件泄露 00x6 WEB-INF/web.xml泄露 00x7 CVS泄漏 工具推荐 参考

0x01 .hg源码泄漏

漏洞成因:

  hg init的时候会生成.hg

<span class="pln">e</span><span class="pun">.</span><span class="pln">g</span><span class="pun">.</span><span class="pln">http</span><span class="pun">:</span><span class="com">//www.am0s.com/.hg/</span>

漏洞利用:

工具:dvcs-ripper

<span class="pln">rip</span><span class="pun">-</span><span class="pln">hg</span><span class="pun">.</span><span class="pln">pl </span><span class="pun">-</span><span class="pln">v </span><span class="pun">-</span><span class="pln">u http</span><span class="pun">:</span><span class="com">//www.am0s.com/.hg/</span>

0x02 .git源码泄漏

漏洞成因:

  在运行git init初始化代码库的时候,会在当前目录下面产生一个.git的隐藏文件,用来记录代码的变更记录等等。在发布代码的时候,把.git这个目录没有删除,直接发布了。使用这个文件,可以用来恢复源代码.

PHP
<span class="pln">e</span><span class="pun">.</span><span class="pln">g</span><span class="pun">.</span><span class="pln"> http</span><span class="pun">:</span><span class="com">//www.am0s.com/.git/config</span>

漏洞利用:

工具:

GitHack

<span class="typ">GitHack</span><span class="pun">.</span><span class="pln">py http</span><span class="pun">:</span><span class="com">//www.am0s.com/.git/</span>

dvcs-ripper

<span class="pln">rip</span><span class="pun">-</span><span class="pln">git</span><span class="pun">.</span><span class="pln">pl </span><span class="pun">-</span><span class="pln">v </span><span class="pun">-</span><span class="pln">u http</span><span class="pun">:</span><span class="com">//www.am0s.com/.git/</span>

0x03 .DS_Store文件泄漏

漏洞成因:

  在发布代码时未删除文件夹中隐藏的.DS_store,被发现后,获取了敏感的文件名等信息。

漏洞利用:

PHP
<span class="pln">http</span><span class="pun">:</span><span class="com">//www.am0s.com/.ds_store</span>

注意路径检查

工具:

dsstoreexp

PHP
<span class="pln">python ds_store_exp</span><span class="pun">.</span><span class="pln">p

0x04 网站备份压缩文件

在网站的使用过程中,往往需要对网站中的文件进行修改、升级。此时就需要对网站整站或者其中某一页面进行备份。当备份文件或者修改过程中的缓存文件因为各种原因而被留在网站web目录下,而该目录又没有设置访问权限时,便有可能导致备份文件或者编辑器的缓存文件被下载,导致敏感信息泄露,给服务器的安全埋下隐患。

漏洞成因及危害:

该漏洞的成因主要有以下两种:

  1. 服务器管理员错误地将网站或者网页的备份文件放置到服务器web目录下。
  2. 编辑器在使用过程中自动保存的备份文件或者临时文件因为各种原因没有被删除而保存在web目录下。

漏洞检测:

该漏洞往往会导致服务器整站源代码或者部分页面的源代码被下载,利用。源代码中所包含的各类敏感信息,如服务器数据库连接信息,服务器配置信息等会因此而泄露,造成巨大的损失。被泄露的源代码还可能会被用于代码审计,进一步利用而对整个系统的安全埋下隐患。

<span class="pun">.</span><span class="pln">rar
</span><span class="pun">.</span><span class="pln">zip
</span><span class="pun">.</span><span class="lit">7z</span>
<span class="pun">.</span><span class="pln">tar</span><span class="pun">.</span><span class="pln">gz
</span><span class="pun">.</span><span class="pln">bak
</span><span class="pun">.</span><span class="pln">swp
</span><span class="pun">.</span><span class="pln">txt
</span><span class="pun">.</span><span class="pln">html</span>

0x05 SVN导致文件泄露

Subversion,简称SVN,是一个开放源代码的版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上越来越多的控制服务从CVS转移到Subversion。

Subversion使用服务端—客户端的结构,当然服务端与客户端可以都运行在同一台服务器上。在服务端是存放着所有受控制数据的Subversion仓库,另一端是Subversion的客户端程序,管理着受控数据的一部分在本地的映射(称为“工作副本”)。在这两端之间,是通过各种仓库存取层(Repository Access,简称RA)的多条通道进行访问的。这些通道中,可以通过不同的网络协议,例如HTTP、SSH等,或本地文件的方式来对仓库进行操作。

<span class="pln">e</span><span class="pun">.</span><span class="pln">g</span><span class="pun">.</span><span class="pln">http</span><span class="pun">:</span><span class="com">//www.am0s.com/admin/scripts/fckeditor.266/editor/.svn/entries</span>

漏洞利用:

工具:

dvcs-ripper

PHP
<span class="pln">rip</span><span class="pun">-</span><span class="pln">svn</span><span class="pun">.</span><span class="pln">pl </span><span class="pun">-</span><span class="pln">v </span><span class="pun">-</span><span class="pln">u http</span><span class="pun">:</span><span class="com">//www.am0s.com/.svn/</span>

Seay-Svn

0x06 WEB-INF/web.xml泄露

WEB-INF是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。

WEB-INF主要包含一下文件或目录:

  • /WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
  • /WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中
  • /WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
  • /WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
  • /WEB-INF/database.properties:数据库配置文件

漏洞成因:

通常一些web应用我们会使用多个web服务器搭配使用,解决其中的一个web服务器的性能缺陷以及做均衡负载的优点和完成一些分层结构的安全策略等。在使用这种架构的时候,由于对静态资源的目录或文件的映射配置不当,可能会引发一些的安全问题,导致web.xml等文件能够被读取。

漏洞检测以及利用方法:

通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码。
一般情况,jsp引擎默认都是禁止访问WEB-INF目录的,Nginx 配合Tomcat做均衡负载或集群等情况时,问题原因其实很简单,Nginx不会去考虑配置其他类型引擎(Nginx不是jsp引擎)导致的安全问题而引入到自身的安全规范中来(这样耦合性太高了),修改Nginx配置文件禁止访问WEB-INF目录就好了: location ~ ^/WEB-INF/* { deny all; } 或者return 404; 或者其他!

0x07 CVS泄漏

漏洞利用

测试的目录

PHP
<span class="pln">http</span><span class="pun">:</span><span class="com">//www.am0s.com/CVS/Root 返回根信息</span><span class="pln">
http</span><span class="pun">:</span><span class="com">//www.am0s.com/CVS/Entries 返回所有文件的结构</span>

取回源码的命令

PHP
<span class="pln">bk clone http</span><span class="pun">:</span><span class="com">//www.am0s.com/name dir</span>

这个命令的意思就是把远端一个名为name的repo clone到本地名为dir的目录下。

查看所有的改变的命令,转到download的目录

PHP
<span class="pln">bk changes</span>

Bazaar/bzr

工具:

dvcs-ripper

<span class="pln">rip</span><span class="pun">-</span><span class="pln">bzr</span><span class="pun">.</span><span class="pln">pl </span><span class="pun">-</span><span class="pln">v </span><span class="pun">-</span><span class="pln">u http</span><span class="pun">:</span><span class="com">//www.am0s.com/.bzr/</span>

工具推荐

参考

转载:http://www.am0s.com/ctf/175.html

CTF中常见Web源码泄露总结的更多相关文章

  1. 常见Web源码泄露总结

    来自:http://www.hacksec.cn/Penetration-test/474.html 摘要 背景 本文主要是记录一下常见的源码泄漏问题,这些经常在web渗透测试以及CTF中出现. .h ...

  2. 常见的Web源码泄露总结

    常见的Web源码泄露总结 源码泄露方式分类 .hg源码泄露 漏洞成因: hg init 的时候会生成 .hg 漏洞利用: 工具: dvcs-ripper .git源码泄露 漏洞成因: 在运行git i ...

  3. ctf/web源码泄露及利用办法

    和上一篇文章差不多,也算是对web源码泄露的一个总结,但是这篇文章更侧重于CTF 参考文章: https://blog.csdn.net/wy_97/article/details/78165051? ...

  4. Web源码泄露总结

    Web源码泄露总结 背景 本文主要是记录一下常见的源码泄漏问题,这些经常在web渗透测试以及CTF中出现. 源码泄漏分类 .hg源码泄漏 漏洞成因: hg init的时候会生成.hg e.g.http ...

  5. web源码泄露

    http://www.am0s.com/ctf/175.html vim 文件泄露 1.备份文件 源文件:index.php 备份文件:index.php~ 2.临时文件 源文件:index.php ...

  6. ctf常见源码泄露

    前言 在ctf中发现很多源码泄露的题,总结一下,对于网站的搭建要注意删除备份文件,和一些工具的使用如git,svn等等的规范使用,避免备份文件出现在公网 SVN源码泄露 原理 SVN(subversi ...

  7. 常见的Web源码泄漏漏洞及其利用

    Web源码泄露的漏洞: git源码泄露 svn源码泄露 hg源码泄漏 网站备份压缩文件 WEB-INF/web.xml 泄露 DS_Store 文件泄露 SWP 文件泄露 CVS泄露 Bzr泄露 Gi ...

  8. [web 安全] 源码泄露

    web 源码泄露 1..hg 源码泄露 http://www.example.com/.hg/ 2..git 源码泄露 http://www.example.com/.git/config 3..ds ...

  9. [WEB安全]源码泄露总结

    原文链接:https://blog.csdn.net/qq_36869808/article/details/88895109 源码泄露总结: svn源码泄露:https://blog.csdn.ne ...

随机推荐

  1. 高并发分布式系统中生成全局唯一(订单号)Id js返回上一页并刷新、返回上一页、自动刷新页面 父页面操作嵌套iframe子页面的HTML标签元素 .net判断System.Data.DataRow中是否包含某列 .Net使用system.Security.Cryptography.RNGCryptoServiceProvider类与System.Random类生成随机数

    高并发分布式系统中生成全局唯一(订单号)Id   1.GUID数据因毫无规律可言造成索引效率低下,影响了系统的性能,那么通过组合的方式,保留GUID的10个字节,用另6个字节表示GUID生成的时间(D ...

  2. itunes Connect 未能创建 App 图标

    之前用的是chrome浏览器提交了app和app图标都是没问题的,可今天一直提交一直没成功,也是符合apple要求格式和大小的,郁闷.后来想了想换个浏览器试试,用了mac自带的safari浏览器后居然 ...

  3. 8个实用而有趣Bash命令提示行

    很多人都对过命令行提示的重要性不屑一顾,甚至是一点都不关心.但是我却一点都不这么认为,一个好的命令行提示可以改变你使用命令的方式.为此,我在internet上找到一些非常实用,优秀,并有趣的bash的 ...

  4. C#基础第一天-作业答案

    题一答案: Console.WriteLine("请输入a"); int a = Convert.ToInt32(Console.ReadLine()); Console.Writ ...

  5. django session入门详解

    概括性的讲: 1.django默认是打开对session的支持的 2.默认情况下session相关的数据会保存在数据库中.浏览器端只保存了session id session 的科普: 1.动态网站中 ...

  6. php使用CURL不依赖COOKIEJAR获取COOKIE的方法

    本文实例讲述了php使用CURL不依赖COOKIEJAR获取COOKIE的方法.分享给大家供大家参考.具体分析如下: PHP中CURL类是一个非常牛逼的工具类,具体怎么牛逼就不啰嗦了. 对于COOKI ...

  7. [Golang] 从零开始写Socket Server(1): Socket-Client框架

    版权声明:本文为博主原创文章,未经博主允许不得转载. 第一次跑到互联网公司实习 ..感觉自己进步飞快啊~第一周刚写了个HTTP服务器用于微信公共号的点餐系统~ 第二周就直接开始一边自学Go语言一边写用 ...

  8. ubuntu 安装python mysqldb

    sudo apt-get install python-mysqldb #!/usr/bin/python #-*-coding:utf-8-*- ''' This file include all ...

  9. 自动化无线网破解工具wifite2

    自动化无线网破解工具wifite2 wifite是一款自动化wifi密码破解工具,特点是支持多个wep.wpa加密的wifi网络,不支持windows和osx. wifite的特点是可以同时攻击多个采 ...

  10. java FileReader/FileWriter读写文件

    java FileReader/FileWriter读写字母和数字没问题,但读写汉字就乱码.记录下,后面找到解决方法再补上. public static void main(String[] args ...