闭源源码泄露

注:本文内容基于学习小迪课程时的笔记整理,由于原课程相关博客已无法访问,部分信息参考了视频内容。如有不准确之处,欢迎在评论区指正,核实后将及时修正。(由于无法联系到原博主,只能标原创来发,不过本文不是原创的)
Web源码泄的漏洞:
git源码泄露
sVn源码泄露
hg源码泄漏
网站备份压缩文件
WEB-INF/web.xml泄露
DS_Store文件泄露
SWP文件泄露
CVS泄露
Bzr泄露
GitHub源码泄漏
最常见的三种
1.网站备份压缩文件
原理:就是网站管理者将网站源代码备份到web目录下,攻击者通过猜解文件路径,下载备份文件,导致源码泄露。
常见的备份文件后缀:
.rar
.zip
.7Z
.tar.gz
.bak
.txt
.old
.temp
常用漏洞工具:御剑后台扫描工具
2.git源码泄露
原理:Git是一个开源的分布式版本控制系统,在执行 gitinit 初始化目录的时候,会在当前目录下自动创建一个git 目录,用来记录代码的变更记录等,发布代码的时候,如果没有把.git 这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。
漏洞利用工具:GitHack
github项目地址: https://github.com/lijiejie/GitHack
用法示例:
GitHack.py http://www.openssl.org/.git/
修复建议:删除.git目录或者修改中间件配置进行对.git隐藏文件夹的访问。
3.SVN 源码泄露
原理:SVN是个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的渊代码信息。网站管理员在发布代码时,没有使用导出"功能,而是直接复制代码文件夹到WEB服务器上,这就便.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。
漏洞利用工具:svnhack
修复建议:删除web目录中所.svn隐藏文件夹,开发人员在使用SVN时,严格使用导出功能,禁止直接复制代码。
其他漏洞:
4.hg源码泄漏
Mercurial是一种轻量级分布式版本控制系统,使用 hginit 的时候会生成.hg。
漏洞利用工具:dvcs-ripper
github项地址:https://github.com/kost/dvcs-ripper
用法示例:
rip-hg.pl-v-u http://www.example.com/.hg/
5.cVs泄露
CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。主要是针对CVS/Root以及CVS/Entries目录,直接就可以看到泄露的信息。
http://url/CVS/Root 返回信息http://url/CVS/Entries返回所有文件的结构
漏洞利用工具:dvcs-ripper
github项地址址: https://github.com/kost/dvcs-ripper.git
运行示例:
rip-cvs.pl-v -u http://www.example.com/CVS/
6.Bazaar/bzr泄露
bzr也是个版本控制工具,虽然不是很热门,但它也是多平台支持,并且有不错的图形界面。
运行示例:
rip-bzr.pl -v -u http://www.example.com/.bzr/
7.WEB-INF/web.xml 泄露
WEB-INF 是Java的WEB应用的安全目录,如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。
WEB-INF主要包含一下文件或目录:
WEB-INF/web.xml:Web应用程序配置文件,描述了servlet和其他的应用组件配置及命名规则WEB-INF/database.properties:数据库配置文件
WEB-INF/classes/:一般用来存放Java类文件(.class)
WEB-INF/lib/:用来存放打包好的库(jar)WEB-INF/src/:用来放源代码(.asp和.php等)
通过找到 web.xml 文件,推断 class文件的路径,最后直接class 文件,再通过反编译class文件,得到网站源码。
8、DS_Store文件泄露
DS_Store是Mac下Finder用来保存如何展示文件/文件夹的数据文件,每个文件夹下对应一个。如果将.DS_Store上传部署到服务器,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。
漏洞利用工具:
github项地址: https://github.com/lijiejie/ds_store_exp
用法示例:
ds_store_exp.py http://hd.zj.qq.com/themes/galaxyw/.DS_Store
9、SWP文件泄露
swp即svap文件,在编辑文件时产生的临时文件,它是隐藏文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,文件名为.filename.swp。
漏洞利用:直接访问.swp文件,下载回来后删掉末尾的.swp,获得源码文件。
10、GitHub源码泄漏
GitHub是一个面向开源及私有软件项目的托管平台,很多人喜欢把自己的代码上传到平台托管。攻击者通过关键词进行搜索,可以找到关于目标站点的敏感信息,甚至可以下载网站源码。
类似的代码托管平台还有很多,人才是最大的漏洞。
https://github.com/search?q=smtptuser+@qq.com&type=code
11、composer.json
composer.json 是 PHP 项目的依赖管理配置文件,就像 Python 的 requirements.txt、Node.js 的 package.json 一样。
它是给 PHP 的依赖管理工具 Composer 用的,核心作用是:
- 声明项目需要哪些第三方库(比如 Laravel、Symfony、Guzzle 等)
- 声明这些库的版本要求
- 配置自动加载规则、项目元数据
如果网站配置不当,用户可以直接通过浏览器访问 https://xxx.com/composer.json,看到完整的配置内容。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)