前言
在网络安全领域,信息收集是一项至关重要的环节。相较于黑盒测试,白盒渗透测试的难度通常较低,因此在开展渗透测试时,我们往往会尝试获取目标网站的源码,以作为测试的切入点。
目录
一、开源
详情请见上一章
二、闭源
2.1 备份文件泄露
2.1.1 git源码泄露
开发者在开发过程中使用了Git这个版本控制系统,在执行git init
初始化目录的时候,会在当前目录下自动创建一个.git
目录,用来记录代码的变更记录。所以在项目上线时,一般要及时删除.git目录。
测试方式:目标站点后面直接加上.git,只要目录存在就可以继续测试,哪怕403(无权限)
https://mubiaozhandian.com/.git
漏洞利用:githack
修复意见:删除.git
有点网站会对源码进行加密,一般zend加密比较常见
2.1.2 svn源码泄露
测试方式:目标站点后面直接加上.svn,只要目录存在就可以继续测试
https://mubiaozhandian.com/.svn
漏洞利用:
https://github.com/kshyyds/SVNexploit
修复建议:删除web目录中所有.svn隐藏文件夹
2.1.3 DS_Store 文件泄露
.DS_Store是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。
如果将.DS_Store上传部署到服务器,可能造成文件目录结构泄漏,特别是备份文件、源代码文
件。
漏洞利用工具:
https://github.com/lijiejie/ds_store_exp
2.1.4 composer.json版权文件
Composer 是 PHP 的一个包管理工具,它通过 composer.json 文件来管理项目的依赖和配置。
composer.json 文件使用 JSON 格式,定义了项目的基本信息、依赖项、自动加载规则等。在 文
件中,可以定义项目的基本信息,如名称、描述、关键词、主页、许可证和作者等。这些信息有助
于描述项目,并在发布时提供必要的元数据。这里面往往有网站的框架版本之类的信息。
2.1.5 其他
网站备份压缩文件、WEB-INF/web.xml 泄露、hg源码泄漏、SWP文件泄露、CVS泄露、Bzr泄露、GitHub源码泄漏。这里就不一一展开解释了,如果有需要,我后面可以单独写一篇博客来详细说明。
2.2 码云资源搜索
2.2.1 特征关键文件
此处我直接案例演示
这是某学校的智慧校园,我们打开控制台,可以看到,这个网站加载了很多资源,我们主要关注js文件和一些脚本文件,而对于png、jpg之类的,一般不用过于关注。
这里我们可以看到一个名叫lyuapServer的路径,我们不难发现这个就是联奕统一身份认证平台,名称出来了,我们去github,gitee之类的平台去找源码或直接找历史漏洞都行,具体入侵过程在此就不演示了。
当然这里有运气成分,我们此处找到这个纯属因为lyuapServer太明显了,我们一般找源码都是拿着js或脚本文件名称去码云搜索,看看这些项目有没有人上传过,通过比对文件结构来判断是非寻找正确。
2.2.2 通过敏感信息去搜寻
我们在对网站进行爬取时,可能获得源码中的,一些qq,邮箱地址,作者名,注释关键信息之类的信息,这些其实就是开发者所故意留下了的,而网站管理员在搭建时也没有删除,这些信息被我们收集到后,就可以去码云平台进行查询,以此找到网站源码。
三、特殊产业
我们在对一些不受中国法律保护的一些网站或app进行渗透时,按常规渗透思路来说,肯定要尝试看看能不能找到源码,以进行白盒渗透。但往往这些平台的源码在常规码云平台不是很好找,我们一般可以考虑去互站网搜寻
https://www.huzhan.com/