JSFind:扫描JS文件中链接的Burp脚本 – 作者:admin8

1 简介

随着SPA网页的兴起,js文件中会包含大量前端路由和后端api的链接信息,获取到这些链接能提供更多的有效信息。

burp自带的JS Link Finder效果很不错,不过找到的链接不能直接复制使用,需要再做处理,使用起来很不方便,根据js-link-finder使用burp-clj脚本重新实现,并根据LinkFinder提供的正则表达式,新增了REST API的支持,现在可以直接通过jslink对js中找到的链接进行处理,然后作为burp Intruder的payload使用。

2 安装方法

burp-clj-install.gif

图1  插件安装流程

2.1 安装burp-clj插件

下载burp-clj最新版本的burp-clj.jar,然后在burp Extender中加载jar插件。

图片[2]-JSFind:扫描JS文件中链接的Burp脚本 – 作者:admin8-安全小百科

图2  burp Extender加载burp-clj.jar插件

2.2 添加脚本源

启用burp-clj插件后,切换Clojure Plugin选项卡,点Add按钮添加脚本源:https://github.com/ntestoc3/burp-scripts,这里使用github地址,也可以git clone下来,使用本地目录。

burp-clj-2.png

图3  Clojure Plugin添加脚本源

添加脚本源之后,点Reload Scripts!加载脚本。

2.3 启用jslink脚本

在Clojure Plugin选项卡的Scripts List中勾选js link parse的复选框,启用jslink脚本。

burp-clj-4.png

图4  启用jslink脚本

3 使用方法

burp-clj-jslink.gif

图5  jslink使用方法

浏览器通过burp代理访问网站,jsfind会被动扫描js文件,扫描到含有链接的js文件会生成issue。

JS Links选项卡可以看到所有扫描到的包含链接的js文件,可以同时在左侧列表选择多个js文件(按ctrl或shift多选),右边列表会显示所有选中js文件中的链接。

burp-clj-5.png

图6  JS Links查看多个js文件中的链接

针对不需要的链接可以选中后删除,然后通过 删除链接前面的./字符按钮统一链接的格式,方便intruder使用。

注意链接列表中的删除并不会保存,再次切换到对应的js文件,原先的链接还会存在。

4 注意事项

如果浏览器访问过目标网站,则js文件会缓存,再次访问burp里面只能看到304,不会分析文件内容,需要清空缓存并硬性重新加载,用于在burp中获取js内容。

burp项目中的issue信息会保存,但jslink找到的链接不会保存,jslink脚本重新加载的话,已经分析的链接信息会丢失。

5 最后

感谢 https://github.com/portswigger/js-link-finder的burp插件思路

感谢 https://github.com/GerbenJavado/LinkFinder的正则表达式

PS:本程序仅供于学习交流,请使用者遵守《中华人民共和国网络安全法》, 勿将此工具用于非授权的测试, 本站及程序开发者不负任何连带法律责任。

来源:freebuf.com 2020-10-14 23:15:48 by: admin8

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论