通过Burp Suite收集URL,测试是否存在未授权访问漏洞等
JS信息收集
js文件一般用于帮助网站执行某些功能,存储着客户端代码,可能会存在大量的敏感信息,通过阅读分析可能会找到宝藏。
JS信息查找方法
1. 手工
通过查看页面源代码信息,找到.js后筛选特定信息,但这种方法费时费力,一般网站都会存在大量的js文件,还多数为混淆后的信息。
关键信息查找可以使用浏览器自带的全局搜索:

如:通过path:来查Vue框架路由

2. 半自动
通过抓包拦截获取url后使用脚本筛选,比如Burp Suite专业版,可以在Target > sitemap下,选中目标网站选中Engagement tools -> Find scripts,找到网站所有脚本内容。

也可以使用Copy links in selected items复制出选中脚本项目中所包含的URL链接。

粘贴下,然后就可以手工验证url信息价值,有时候可以发现一些未授权、敏感的api接口或者一些GitHub仓库、key值等。

这种方法因为结合手工,在一些深层目录架构中,通过Burp Suite script可以获取到一些工具跑不到的js信息。
3. 工具:
JSFinder是一款用作快速在网站的js文件中提取URL,子域名的工具
递归爬取域名(netloc/domain),以及递归从JS中获取信息的工具
URLFinder是一款用于快速提取检测页面中JS与URL的工具。
功能类似于JSFinder,但JSFinder好久没更新了。
HaE是基于
BurpSuite Java插件API开发的请求高亮标记与信息提取的辅助型框架式插件,该插件可以通过自定义正则的方式匹配响应报文或请求报文,并对满足正则匹配的报文进行信息高亮与提取。如匹配敏感信息、提取页面中的链接信息等。
Repo-supervisor 是一种工具,可帮助您检测代码中的秘密和密码。
CLI 模式允许使用源代码扫描本地目录以检测文件中的机密和密码。结果可能以明文或 JSON 格式返回。
4. 其他辅助工具
信息收集过程中,js文件不用仅限于当前网站版本,网站的历史版本中也可能会存在一些未失效的关键信息。
历史界面
wayback会记录网站版本更迭,可以获取到之前版本的网站,不仅可以用于收集历史js文件,也有可能找到一些后来删除的敏感资产信息,或者一些漏洞

历史信息查找工具:
获取 Wayback Machine 知道的域的所有 URL
收集历史js文件
webbackurls target.com | grep "\.js" | uniq |sort
通过Wayback Machine收集到的url js列表需要进行存活检验,避免误报,可以使用curl命令或者hakcheckurl工具进行检验。最后在做url提取即可。
反混肴
对于存在混淆的代码需要进行反混淆美化下,使其更易看懂
这个小美化器将重新格式化和重新缩进书签、丑陋的 JavaScript、由 Dean Edward 的流行打包程序打包的解包脚本,以及由 npm 包 javascript-obfuscator处理的部分去混淆脚本。
在线JavaScript 反混淆器和解包器
url采集
一款专为安全扫描而生的浏览器爬虫。
获取网站title头及Web指纹
在线url提取
js中关键信息简记
-
密码、api密钥、secretKey等硬编码
-
隐藏的api接口,如后台、业务测试、某服务等,可能会存在未授权。
-
注释信息,注释为代码时,可能会通过修改注释改变业务逻辑,实现机制绕过,如xss绕过、登录绕过等。
-
Webpack 打包静态资源、js.map后缀文件,是jQuery中的一个新功能,支持Source Map,储存着各种api接口信息,而Webpack打包的信息很多都会放在js.map文件中,通过还原代码可能会找到一些未授权的api接口。相关处理工具如下:
-
子域名信息
-
依赖或框架,对于旧依赖或框架可以直接使用retire.js扫描相关漏洞。
-
……
原文转载于:https://forum.butian.net/share/1976

浙公网安备 33010602011771号