最近进行渗透测试时,时常遇到xray扫出sourcemap文件,每次扫到都要百度,因此做个笔记。

漏洞原理

在日常测试时,经常会遇到以js.map为后缀的文件
这是jQuery中的一个新功能,支持Source Map
非常多Webpack打包的站点都会存在js.map文件.
通过sourcemap可还原前端代码找到API,间接性获取未授权访问漏洞

什么是Source map
简单说,Source map就是一个信息文件,里面储存着位置信息。转换后的代码的每一个位置,所对应的转换前的位置。
有了它,出错的时候,除错工具将直接显示原始代码,而不是转换后的代码,这无疑给开发者带来了很大方便。

漏洞复现

使用xray扫到 dirscan/sourcemap/default 漏洞。

直接访问链接可下在sourcemap文件,利用该文件还原源代码需使用reverse-sourcemap工具。
先安装:nodejs,
下载地址:https://nodejs.org/zh-cn/download/
选择适合自己操作系统的版本:

双击下载后的文件,一路点击 next即可成功安装

安装完nodejs后,控制台输入:

npm -v

即可查看安装的版本。

然后安装 reverse-sourcemap

npm install --global reverse-sourcemap

安装完成(PS:我电脑中已经有reverse-sourcemap,所以大家如果为初次安装看到信息可能跟我不一样)。

安装完成后,将其加入环境变量

检查是否安装成功:

reverse-sourcemap -h

安装成功

还原map文件

reverse-sourcemap -v ****.js.map -o output

map文件会还原到 output文件

同时还可以通过浏览器,开发者模式-source模块查看前端源代码

漏洞修复

临时的解决方法就是删除代码目录下的.map文件;
永久的解决方法就是在build的时候禁用产生map文件的功能;
在scripts/build下的build.js 文件中添加如下配置:
process.env.GENERATE_SOURCEMAP = ‘false’;
重新build就不会再产生sourcemap文件了

参考链接:https://cloud.tencent.com/developer/article/1981398

sourcemap文件泄露漏洞相关推荐

  1. mysql漏洞包_MySQL npm包中的本地文件泄露漏洞

    "A pure node.js javascript Client implementing the MySQL protocol." 漏洞 在某次安全评估中,Synacktiv专 ...

  2. 速打微补丁!这个越权文件读取漏洞影响 Windows OS

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 0patch 平台发布非官方补丁,修复了一个修复不当的 Windows 安全漏洞 (CVE-2021-24084),她可导致易受攻击系统泄露信息 ...

  3. 【漏洞实战】某网站JS文件泄露导致拿到服务器权限

    某站点JS文件泄露后台接口导致Get Shell 1.首页是这样子滴,爆破弱口令无果后. 技术资料 2.开始审计js代码:这一步我不知道新手会不会.一般右击网页->点击检查就会出现下面这种界面. ...

  4. Webpack前端源码泄露漏洞

    什么是Webpack? webpack是一个打包器(bundler),它能将多个js.css.json等文件打包成一个文件.这样可以使复杂的各种加载文件集合为整合为单一的集合,让代码更加模块化便于编程 ...

  5. 安全研究 | Jenkins 任意文件读取漏洞分析

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云鼎实验室 发表于云+社区专栏 一.漏洞背景 漏洞编号:CVE-2018-1999002 漏洞等级:高危 Jenkins 7 月 18 ...

  6. Web安全之文件包含漏洞

    什么是文件包含 程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件.而无需再次编写,这种 文件调用的过程一般被称为文件包含. 例如:include "conn ...

  7. 文件包含漏洞——DVWA练习

    前言:在学习文件上传时,制作的图片马需要我们手动去解析,而解析的方法就算用到了文件包含漏洞,所以这次就来学习一下文件包含漏洞. 文件包含漏洞简介 (一)文件包含可以分为本地文件包含和远程文件包含两种. ...

  8. WEB中的敏感文件泄露

    文件泄露,根据泄露的信息敏感程度,在WEB漏洞中可以算是中危甚至高危的漏洞,本篇文章就来 介绍下一些常见的泄漏, 主要分为由版本管理软件导致的泄露, 文件包含导致的泄露和配置错误导致的泄露. 版本管理 ...

  9. 9 月 19 日,腾讯云安全中心监测到  Apache Tomcat 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞(CVE-2017-12616)、远程代码执行漏洞(CVE-2017-12615

    9 月 19 日,腾讯云安全中心监测到  Apache Tomcat 修复了2个严重级别的漏洞, 分别为: 信息泄露漏洞(CVE-2017-12616).远程代码执行漏洞(CVE-2017-12615 ...

最新文章

  1. 提高项目开发效率之--会议室墙的进度表
  2. glide 下载golang.org包问题
  3. 数据数组赋值_嵌入式-数组赋值
  4. c#中 uint--byte[]--char[]--string相互转换汇总
  5. 空字符是什么类型_Redis是什么?看这一篇就够了!
  6. 【面向对象】实现继承的正确实践和不当实践
  7. php短网址案例,php生成短网址原理与实例
  8. python tcp实例_实现tcp的自动重连实例教程
  9. html分级显示的下拉列表,javascript实现在下拉列表中显示多级树形菜单的方法
  10. 这个世界是怎么了?做商业软件的怎么越来越流氓了?
  11. pyqt自定义信号与槽(Signals and Slots)
  12. 3D建模到底难不难?
  13. Alpha 完结撒花 —— 事后诸葛亮
  14. 设置linux kernel 日志打印方法
  15. 看过的最好的护肤心得 续.
  16. 阿里p9就三分钟。。。。。
  17. [samtools] 文本查看语法,浏览SNP/INDEL位点
  18. Vue组件传值、Vue、组件
  19. c语言编程单片机中的sbit,用sbit定义可位寻址的特殊功能寄存器时的地址转换-51单片机C编程...
  20. Python如何自动操作电脑桌面应用程序

热门文章

  1. MSSQL SERVER DBA 2门证书考试
  2. java中的常量和变量是什么_java中什么是常量和变量
  3. MIPS 、DMIPS、MFLOPS、TOPS解释
  4. python中divmod(10、3)_Python3 divmod() 函数
  5. javascript事件列表详解
  6. JVM 的几种死法,知己知彼才能百战不殆
  7. 2010年-2020年数学二真题之反常积分
  8. B 站崩了,受害程序员聊聊(非吃瓜B 站事件始末分析 + 防治技术分享)
  9. MySQL的JDBC编程(Java)
  10. 《啊哈!算法》——快速排序