对网站的 javascript 文件进行分析,查找 js 文件中是否存在敏感信息,有的开发者会将接口、url、参数、accesskey 等信息放在 js 文件中,所以就可以分析 js 文件查找这些内容。
主要是找接口 url 或敏感参数,在漏洞扫描的时候,这种点很难去自动发现。
1、浏览器查看#
1.1 源码#
浏览器打开目标网站,右键检查
找到标签,源代码 / 来源
这个标签下面可以找到网站的静态资源,如 css、js 文件等,如上图
在 mac 上,使用快捷键 option + command + F,可进行全局搜索
可以查找一些接口 url
1.2 SourceDetector#
SourceDetector 是一个自动发现.map 文件
1.3、findsomething#
该工具用于快速在网页的 html 源码或 js 代码中提取一些有趣的信息,包括可能请求的资源、接口的 url,可能请求的 ip 和域名,泄漏的证件号、手机号、邮箱等信息。
https://github.com/ResidualLaugh/FindSomething/tree/master
2、burp suite#
2.1 js 脚本结合 burp#
打开浏览器控制台,复制如下脚本,回车
javascript:(function(){var scripts=document.getElementsByTagName("script"),regex=/(?<=(\"|\'|\`))\/[a-zA-Z0-9_?&=\/\-\#\.]*(?=(\"|\'|\`))/g;const results=new Set;for(var i=0;i<scripts.length;i++){var t=scripts[i].src;""!=t&&fetch(t).then(function(t){return t.text()}).then(function(t){var e=t.matchAll(regex);for(let r of e)results.add(r[0])}).catch(function(t){console.log("An error occurred: ",t)})}var pageContent=document.documentElement.outerHTML,matches=pageContent.matchAll(regex);for(const match of matches)results.add(match[0]);function writeResults(){results.forEach(function(t){document.write(t+"<br>")})}setTimeout(writeResults,3e3);})();
跳出如下页面
复制到 intruder 模块,利用 intruder 模块进行遍历
或者用 yakit 遍历
2.2 HaE#
2.3 BurpJSLinkFinder#
2.4 findUriInjs#
一个既可主动,又可被动提取链接的 burp 插件
3、文件爬虫 + nuclei#
3.1 rad#
rad --target https://www.wjbet777.com/ | grep ".js" > wjbet777.txt
3.2 argo#
基于 go-rod 的自动化通用爬虫,用于自动化获取网站的 URL
argo -t https://xxx.com/
3.3 URLFinder#
用于快速提取检测页面中 JS 与 URL 的工具,更快更全更舒服
urlFinder -u https://xxx.com/ -s all -m 3
4、jsleak#
echo https://www.xxx.com/ | jsleak -s
echo https://www.xxx.com/ | jsleak -l
完整 url
echo https://www.sishunwl.cn/ | jsleak -e
状态检查
echo https://www.sishunwl.cn/ | jsleak -c 20 -k
文本输入
cat urls.txt | jsleak -l -s -c 30
cat ff.alive.txt | jsleak -l -s -c 30 -e -k