目录
一、挖掘思路
1、方法:
二、框架之信息泄露
1、Webpack
1.1、简述
1.2、.js.map文件泄露
1.3、源码审计
2、Spring boot
1.1、简述
1.2、利用
1.3、框架识别
(基本分析方法都是一样,这里就举2个框架关于信息泄露方面的)
一、挖掘思路
1、方法:
摸清楚是何种框架后,直接搜对应框架存在的漏洞问题
框架存在的路径,进行遍历访问
框架所具有的特点
框架的组件等
二、框架之信息泄露
1、Webpack
1.1、简述
是一个JavaScript应用程序的静态资源打包器,它会递归构建一个依赖关系图,其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个bundle。
大部分Vue等项目应用会使用webpack进行打包,如果没有正确配置,就会导致项目源码泄露,可能泄露的各种信息如API、加密算法、管理员邮箱、内部功能等。
project_name |—— src | |—— index.js | |—— App.vue |—— index.html |—— package.json |—— webpack.config.js |—— babel.config.js
1.2、.js.map文件泄露
1、方法一:如果配置好npm环境,并安装了reverse-sourcemap,在js最后会有注释://#sourceMappingURL=xxxxxxx.js.map
2、方法二:在开发者工具中搜索.js.map,找到MarketSearch.js.map所在的js,找到对应的链URL,一般静态文件会挂载在当前域名下(但不排除其他站点挂载的情况,所以需要找到对应的URL),并对其进行下载
3、方法三:可以在浏览器控制台中的Sources------> Page------> webpack://中查看源代码(js同目录下会生成 js.map文件)
4、方法四:插件的使用
1.3、源码审计
获得源码后,开始正常的挖掘操作
1、找前端接口(如登录接口api、user、login等)
2、找路径(寻找未授权访问)
3、找有请求传入的地方(GET、POST寻找可控变量)
4、找高权限接口(如一些管理员接口中可能的关键词admin,superadmin,manage等)
5、拼接的动态接口(接口又很多参数拼接而成)
……
1.2、框架识别
1、使用浏览器插件识别
2、看图标
3、最基本识别web框架的方式是查看HTTP响应报头中的X-Powered-By字段
2、Spring boot
1.1、简述
1、Spring boot:是 Spring 的一套快速配置脚手架,可基于Spring boot 快速开发单个微服务(其特点决定了功能模块分布式部署,在不同的机器上相互通过服务调用进行交互,业务流会经过多个微服务的处理和传递)
2、微服务的监控:Actuator组件为Spring Boot提供对应用系统的监控和管理的集成功能,可以查看应用配置的详细信息(如自动化配置信息、创建的Spring beans信息、系统环境变量的配置信以及Web请求的详细信息等)
3、安全隐患:Actuator配置不当或存在缺陷,可造成信息泄露等(如/heapdump作为Actuator组件最为危险的Web接口,如果Actuator配置不当,攻击者可无鉴权获取heapdump堆转储文件)
4、分类:
1.原生端点
2.用户自定义扩展端点
1.2、利用
获取相应数据后,再使用工具进行分析
1.3、框架识别
1、使用浏览器插件识别
2、看图标
3、报错页面