这几天回顾做过的ctf题 看到好多题有源码泄露 本篇做个归纳总结
.git
源码泄露在运行git init
初始化代码库的时候,会在当前目录下面产生一个.git
的隐藏文件夹
这个文件夹包含所有的 Git 存储和操作的对象记录,如代码的变更记录等等
主要有以下内容:
在发布代码的时候,如果.git
这个目录没有删除,直接发布了
使用这个文件,可以用来恢复源代码,这造成git泄露
可以通过网页访问 .git
目录,或扫描后台看看有没有 .git
目录来探测
若果有git泄露,用GitHack可以恢复源代码
GitHack使用方法
.svn
源码泄露SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS 很多网站都使用了 svn 版本控制系统,和使用 git 版本控制器类似,很多开发者网站安全意识不足,代码放到生产坏境中后,没有清理 svn 的一些信息,导致 svn 残留
svn利用要看版本
.svn/text-base/文件名.svn-base
,默认文件名都是直接明文存的,可以访问到/.svn/entries
的时候,就证明存在源码泄露wc.db
中,就是个sqlite数据库,通过访问wc.db
文件,就可以读取到所有的网站目录工具
.DS_Store
文件泄露.DS_Store
文件在 MAC 系统里每个文件夹下都有一个,是用来存储这个文件夹的显示属性的,比如文件图标的摆放位置
通过 .DS_Store
可以知道这个目录里面所有文件的清单
当访问/.ds_store
可以访问的到,就证明存在文件泄露
工具 ds_store_exp
.hg
源码泄露使用hg init
新建仓库的时候,会生成一个备份文件.hg
当然也是存在泄露问题,不过比较少见
当访问/.hg
存在的时候,就证明存在该漏洞
工具 rip-hg.pl
在网站的升级和维护过程中,通常需要对网站中的文件进行修改 此时就需要对网站整站或者其中某一页面进行备份。
当备份文件或者修改过程中的缓存文件因为各种原因而被留在网站 web 目录下 而该目录又没有设置访问权限时,便有可能导致备份文件或者编辑器的缓存文件被下载 导致敏感信息泄露,给服务器的安全埋下隐患
该漏洞的成因主要有是管理员将备份文件放在到 web 服务器可以访问的目录下
常见格式
'.rar','.zip','.tar','.tar.gz','.tar.bz2','.sql','.7z','.bak','.txt','.swp','.old'
通过扫描网站的目录,可以发现这些敏感的备份文件 由于浏览器不能直接解析这些文件后缀,导致可以直接下载
WEB-INF 是 Java 的 WEB 应用的安全目录 该目录原则上来说是客户端无法访问,只有服务端才可以可以访问 如果想在页面中直接访问其中的文件,必须通过 web.xml 文件对要访问的文件进行相应映射才能访问
主要包含以下文件或目录:
.jar
文件中漏洞
扫描后台有没有WEB-INF/web.xml
即可
然后直接访问
CVS是一个C/S系统 多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的
后台扫描是否有CVS/Root
以及CVS/Entries
目录,分别返回根信息和所有文件的结构
工具
Bazaar-NG 是个分散式版本控制系统,旨在易于开发人员和最终用户的使用 分散式版本控制系统采用了 集市开发模型 ,可让人们通过互联网进行协作
不过笔者没见过这个漏洞 记一笔
工具 dvcs-ripper
对源码泄露和文件泄露做了个归纳
还有个信息搜集工具 weakfilescan
红客突击队于2019年由队长k龙牵头,联合国内多位顶尖高校研究生成立。其团队从成立至今多次参加国际网络安全竞赛并取得良好成绩,积累了丰富的竞赛经验。团队现有三十多位正式成员及若干预备人员,下属联合分队数支。红客突击队始终秉承先做人后技术的宗旨,旨在打造国际顶尖网络安全团队。