相关文章推荐
逃课的日光灯  ·  关于输入法栏删掉美式键盘后反复出现美式键盘的 ...·  1 周前    · 
风流倜傥的山寨机  ·  autoCAD2014安装激活_cad201 ...·  5 天前    · 
爽快的绿豆  ·  BeanUtils (Spring ...·  1 年前    · 
粗眉毛的青蛙  ·  osc_8ieji7o1的个人空间 - ...·  2 年前    · 
不敢表白的香菇  ·  Java OpenCSV How to ...·  2 年前    · 
爱跑步的回锅肉  ·  moment.js 获取当前时间戳-掘金·  2 年前    · 
深情的卡布奇诺  ·  空心矩形图案c语言-掘金·  2 年前    · 
Code  ›  如何还原前端代码开发者社区
前端开发 https
https://cloud.tencent.com/developer/article/1981398
重情义的马克杯
2 年前
作者头像
小生观察室
0 篇文章

如何还原前端代码

前往专栏
腾讯云
备案 控制台
开发者社区
学习
实践
活动
专区
工具
TVP
文章/答案/技术大牛
写文章
社区首页 > 专栏 > 小生观察室 > 正文

如何还原前端代码

发布 于 2022-04-14 16:32:23
2K 0
举报

前言

在 渗透测试 时,经常会遇到以 js.map 为后缀的文件

这是jQuery中的一个新功能,支持 Source Map

非常多 Webpack打包 的站点都会存在 js.map 文件.

通过还原前端代码找到API,间接性获取未授权访问漏洞

什么是Source map

简单说, Source map 就是一个信息文件,里面储存着位置信息。转换后的代码的每一个位置,所对应的转换前的位置。

有了它,出错的时候,除错工具将直接显示原始代码,而不是转换后的代码,这无疑给开发者带来了很大方便。

工具介绍

目前大多数人使用比较多的是以下两个

  • restore-source-tree
https://www.npmjs.com/package/restore-source-tree
  • shuji
https://github.com/paazmaya/shuji

这2个项目各有利弊,但并不是今天介绍的主角

今天要介绍的是

  • reverse-sourcemap
https://www.npmjs.com/package/reverse-sourcemap

虽然是几年前开发的项目但对 文件和目录 的还原与其他两个比较更加优秀,文件和目录都能全部还原出来。

  • restore-source-tree 可以还原目录,但一些文件会出现还原不了的情况
  • shuji 可以还原文件,但同名的文件会出现忽略且不保存的情况

安装reverse-sourcemap

  • 此处以 Windows平台 为例

去官网下载适合自己操作系统 nodejs

https://nodejs.org/zh-cn/download/

运行并安装,选择 Next

同意协议 选择 Next

选择安装路径

继续 Next

根据自身情况进行选择是否勾选,继续 Next ,并选择 install 进行安装

安装完成后执行以下语句,确认环境是否正常

C:\Users\小生观察室>npm -v
8.3.1

环境无异常之后开始安装 reverse-sourcemap

C:\Users\小生观察室>npm install --global reverse-sourcemap
added 13 packages, and audited 14 packages in 2s
found 0 vulnerabilities
npm notice
npm notice New minor version of npm available! 8.3.1 -> 8.5.3
npm notice Changelog: https://github.com/npm/cli/releases/tag/v8.5.3
npm notice Run npm install -g npm@8.5.3 to update!

确认 reverse-sourcemap 是否异常

C:\Users\小生观察室>reverse-sourcemap -h
reverse-sourcemap - Reverse engineering JavaScript and CSS sources from sourcemaps
Usage: reverse-sourcemap [options] <file|directory>
  -h, --help               Help and usage instructions
  -V, --version            Version number
  -v, --verbose            Verbose output, will print which file is currently being processed
  -o, --output-dir String  Output directory - default: .
  -M, --match String       Regular expression for matching and filtering files - default: \.map$
  -r, --recursive          Recursively search matching files
Version 1.0.4

还原代码

C:\Users\小生观察室\>reverse-sourcemap -v Root-5712cd11ab11386d4a3e.js.map -o output
reverse-sourcemap - Reverse engineering JavaScript and CSS sources from sourcemaps
 
推荐文章
逃课的日光灯  ·  关于输入法栏删掉美式键盘后反复出现美式键盘的问题 - Microsoft Q&A
1 周前
风流倜傥的山寨机  ·  autoCAD2014安装激活_cad2014注册机
5 天前
爽快的绿豆  ·  BeanUtils (Spring Framework 6.1.12 API)
1 年前
粗眉毛的青蛙  ·  osc_8ieji7o1的个人空间 - OSCHINA - 中文开源技术交流社区
2 年前
不敢表白的香菇  ·  Java OpenCSV How to edit specific cells from csv file - Stack Overflow
2 年前
爱跑步的回锅肉  ·  moment.js 获取当前时间戳-掘金
2 年前
深情的卡布奇诺  ·  空心矩形图案c语言-掘金
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号