一、业务资产-应用类型分类
- 大致分为五类:
- WEB应用
- APP应用
- PC端应用
- 小程序应用
- 微信公众号
- 其他产品等
- 收集方式(查询企业信息)
二、Web单域名获取-接口查询
-
备案信息
-
企业产权
-
注册域名
用想要查询的域名关键字进行域名注册,查看相关域名,可能发现同一家公司的不同域名,也可查看whois
三、Web子域名获取-解析枚举
- DNS数据
曾经以及目前解析的DNS服务器
DNS数据(dnsdumpster) - 证书查询
https网址,子域名与主域名均使用同一证书
证书查询 - 网络空间
- 威胁情报
利用别人提交过的情报,尝试从中获取自己所需要的信息 - 枚举解析(暴力破解)
工具:oneForAll
四、Web架构资产-平台指纹识别
- 程序语言
- 框架源码
- 搭建平台
- 数据库类
- 操作系统
通过指纹识别:
TideFinger潮汐
五、WEB后端源码
1. 后端-开源-指纹识别-源码下载
直接参考上面指纹识别出的CMS即可
2. 后端-闭源-配置不当-源码泄漏
- 源码泄漏原因:
- 从源码本身的特性入手
- 从管理员不好的习惯入手
- 从管理员不好的配置入手
- 从管理员不好的意识入手
- 从管理员资源信息收集入口
- 常见源码泄露集合
-
参考:https://www.secpulse.com/archives/124398.html
-
git源码泄露
- Git是一个开源的分布式版本管理系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个
.git
目录,用来记录代码的变更记录等;发布代码的时候,如果没有吧.git
这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码 - 漏洞利用工具:GitHack
- 使用方式:
Python GitHack.py URL
使用前提为:访问.git文件夹时,返回为403,非404 - 修复建议:删除.git目录或者修改中间件配置进行对.git 隐藏文件夹的访问
- Git是一个开源的分布式版本管理系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个
-
SVN源码泄露
-
SVN是一个开放源代码的版本控制系统,在使用SVN管理本地代码过程中,会自动生成一个名为
.svn
的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接赋值源代码文件夹到WEB服务器上,这就使.SVN
隐藏文件夹暴露于外网环境,可以利用```.svn/entries文件,获取到服务器源码。 -
漏洞利用工具:SVNHack
使用方法:
Python SvnHack.py -u URL --download
使用前提:URL/.svn可正常返回,且Python版本为2.XX -
修复建议:删除web目录中所有的.svn隐藏文件夹,开发人员在使用SVN时,必须使用导出功能,禁止直接复制代码
-
-
网站备份压缩文件
- 管理员将网站源代码本分在web目录下,攻击者通过猜解文件路径,下载备份文件,导致源代码泄露
- 常见的备份文件后缀
- .rar
- .zip
- .7z
- .tar.gz
- .bak
- .txt
- .old
- .temp
- 漏洞利用工具:御剑
-
composer.json泄露(PHP特性)
- 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使用的任意扩展数据
- 检查漏洞是否存在
直接访问网站下方的composer.json查看是否存在
-
3. 后端-方向-资源GITHUB-源码泄漏
- 解决1:识别出大致信息却无法下载资源(代码已经不再维护)
- 解决2:未识别出信息使用码云资源获取
- gitee
- github
- oschina
- 解决3:其他行业开发使用对口资源站获取
- https://www.huzhan.com/
注:资源搜索
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