其他
利用SourceMap还原前端代码
说明
现在越来越多网站使用前后端分离技术,利用Webpack
技术将JS
类拓展语言进行打包,当然很多都是配套使用,例如Vue
(前端 Javascript
框架)+Webpack
技术
这种技术也在普及,并且转向常态化,对渗透测试人员来说极其不友好:
原因1
,间接造成了前端漏洞的审计困难性但是也具备一定的好处:
1. 采用这种模式,后端接口将完全暴露在JS文件
中
2. 除此之外,如果生成了Source Map
文件可以利用该文件还原网站原始前端代码
主流浏览器都自带解析Source Map
文件功能(开发者工具-Sources
【火狐下是调试器】)
展开可以看见具体文件和代码:
找个能访问的页面按Ctrl+U
查看源代码,再随便打开一个js
找到映射文件
通常我们要找到的SourceMap
映射文件都在这些文件的最下面有个注释的地方
把这chunk-vendors.6b92c4bd.js.map
拼接到当前url
目录就能把这个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
需要先安装好npm
npm install --global reverse-sourcemap
还原代码
还原命令:
reverse-sourcemap -v Root-5712cd11ab11386d4a3e.js.map -o output
最终生成的文件会存放在./output
目录
成功获得源代码
参考连接:
https://p1kaju.github.io/javascript/restore-source-map/
https://cloud.tencent.com/developer/article/1981398
https://gh0st.cn/archives/2020-01-08/2
关注公众号后台回复 0001
领取域渗透思维导图,0002
领取VMware 17永久激活码,0003
获取SGK地址,0004
获取在线ChatGPT地址,0005
获取 Windows10渗透集成环境
扫码加入交流群
往期推荐