#知识点
0、Web架构资产-平台指纹识别
1、开源-CMS指纹识别源码获取方式
2、闭源-习惯&配置&特性等获取方式
3、闭源-托管资产平台资源搜索监控
演示案例:
➢后端-开源-指纹识别-源码下载
➢后端-闭源-配置不当-源码泄漏
➢后端-方向-资源码云-源码泄漏
标签 名称 地址
指纹识别 在线cms指纹识别 http://whatweb.bugscaner.com/look/
指纹识别 Wappalyzer https://github.com/AliasIO/wappalyzer
指纹识别 TideFinger潮汐 http://finger.tidesec.net/
指纹识别 云悉指纹 https://www.yunsee.cn/
指纹识别 WhatWeb https://github.com/urbanadventurer/WhatWeb
指纹识别 数字观星Finger-P https://fp.shuziguanxing.com/#/
#后端-开源-指纹识别-源码下载
除了CMS识别,指纹识别还包括Web框架、中间件、组件等的识别,可以使用如下工具
Wappalyzer:基于浏览器插件的指纹识别工具,支持多种Web框架、CMS、中间件、CDN等的识别。
WhatWeb:基于命令行的指纹识别工具,支持多种Web框架、CMS、中间件、语言等的识别。
Fingerprintjs2:基于JavaScript的指纹识别工具,可以识别浏览器的User-Agent、语言、时区、屏幕分辨率、字体等信息。
BuiltWith:基于网站的指纹识别工具,可以识别网站所使用的Web框架、CMS、中间件、CDN等信息。
Nuclei:基于命令行的扫描工具,可以使用已有的指纹识别模板进行扫描。
CMS识别见上述项目
使用扫描工具扫描出搭建的源码为Zblog
搜索并下载该源码,查看源码目录
通过源码目录进行数据访问:回写数据403文件夹存在(判断是该源码)
#后端-闭源-配置不当-源码泄漏
参考:https://www.secpulse.com/archives/124398.html
备份:敏感目录文件扫描
CVS:https://github.com/kost/dvcs-ripper
GIT:https://github.com/lijiejie/GitHack
SVN:https://github.com/callmefeifei/SvnHack
DS_Store:https://github.com/lijiejie/ds_store_exp
源码泄漏原因:
1、从源码本身的特性入口
2、从管理员不好的习惯入口
3、从管理员不好的配置入口
4、从管理员不好的意识入口
5、从管理员资源信息搜集入口
源码泄漏集合:
git源码泄露
Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候**,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。** 漏洞利用工具:GitHack github项目地址:https://github.com/lijiejie/GitHack 用法示例:GitHack.py http://www.openssl.org/.git/
svn源码泄露
SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。 漏洞利用工具:Seay SVN漏洞利用工具
hg源码泄漏
Mercurial 是一种轻量级分布式版本控制系统,使用 hg init的时候会生成.hg。 漏洞利用工具: dvcs-ripper github项目地址: https://github.com/kost/dvcs-ripper 用法示例:rip-hg.pl -v -u http://www.example.com/.hg/
网站备份压缩文件
管理员将网站源代码备份在Web目录下,攻击者通过猜解文件路径,下载备份文件,导致源代码泄露。 常见的备份文件后缀:.rar .zip .7z .tar .gz .bak .txt .old .temp 漏洞利用工具:御剑
GitHub源码泄漏
GitHub是一个面向开源及私有软件项目的托管平台。很多人喜欢把自己的代码上传到平台托管,通过关键词进行搜索,可以找到关于目标站点的敏感信息,甚至可以下载网站源码。 类似的代码托管平台还有很多,人才是最大的漏洞。https://github.com/search?q=smtp+user+@qq.com&type=code
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
SWP 文件泄露
CVS泄露
Bzr泄露 composer.json
WEB-INF/web.xml 泄露
PHP特性-composer.json泄漏
**composer.json文件作用:**composer.json文件定义了您当前项目的依赖项,以及依赖项的一些相关信息 常见属性说明:
name:表示包的名称
description:表示包的描述
version:表示包的版本
type:表示包的类型
keywords:表示一组用于搜索与筛选的与包相关的关键字
homepage:表示项目网站的url地址
readme:表示README文档的绝对路径
time:表示包的版本发布时间
license:表示包的许可证
authors:表示包的作者
support:表示获取对项目支持的信息对象
require:表示必须安装的依赖包列表
autoload:表示PHP自动加载的映射
minimum-stability:定义了按稳定性过滤包的默认值
repositories:表示自定义的安装源
config:表示一组配置选项
script:表示Composer允许在安装过程的各个部分执行脚本
extra:表示scripts使用的任意扩展数据
#后端-方向-资源GITHUB-源码泄漏
解决1:识别出大致信息却无下载资源
解决2:未识别出信息使用码云资源获取
https://www.oschina.net/
Gitee - 基于 Git 的代码托管和研发协作平台
GitHub
解决3:其他行业开发使用对口资源站获取
https://www.huzhan.com/
https://28xin.com/
https://bbs.bcb5.com/
https://www.shixinwl.com/
https://www.lengcat.com/
https://www.xlymz.com/
https://www.ymadx.com/
假装不知道程序源码的情况下进行检索
打开已经知道网址选中带有相关性数据包,选中其请求URL在github中搜索
找到目标源码
查找到不确定的源码目录,一一对应后,采用替换域名访问的方式来确定
GITHUB资源搜索:
in:name test #仓库标题搜索含有关键字
in:descripton test #仓库描述搜索含有关键字
in:readme test #Readme文件搜素含有关键字
stars:>3000 test #stars数量大于3000的搜索关键字
stars:1000…3000 test #stars数量大于1000小于3000的搜索关键字 forks:>1000 test #forks数量大于1000的搜索关键字
forks:1000…3000 test #forks数量大于1000小于3000的搜索关键字 size:>=5000 test #指定仓库大于5000k(5M)的搜索关键字 pushed:>2019-02-12 test #发布时间大于2019-02-12的搜索关键字 created:>2019-02-12 test #创建时间大于2019-02-12的搜索关键字 user:test #用户名搜素
license:apache-2.0 test #明确仓库的 LICENSE 搜索关键字 language:java test #在java语言的代码中搜索关键字
user:test in:name test #组合搜索,用户名test的标题含有test的
关键字配合谷歌搜索:
site:Github.com smtp
site:Github.com smtp @qq.com
site:Github.com smtp @126.com
site:Github.com smtp @163.com
site:Github.com smtp @sina.com.cn
site:Github.com smtp password
site:Github.com String password smtp
找到源码或者通过抓包获取到的数据包可以进行以下操作
利用sumlime软件打开源码文件夹,使用在文件夹中查找例如qq.com
查找到相关留下的联系方式名称等信息
使用这些信息再去github中查询寻找源码
找到相关代码