前言
目标网站是一家使用AI,机器学习和数据工具来帮助企业解决问题的公司。
他们通过云平台提供智能解决方案来与医疗保健,金融和零售等行业合作。
漏洞挖掘
像往常一样,白帽小哥使用了多种工具进行子域枚举,并将结果保存在一个文件中。
然后使用HTTPX过滤出 200响应状态的子域,当手动检查每个子域时,小哥遇到了一个子域,该子域显示了一个注册页,上面有一条消息显示注册当前已关闭。
于是小哥利用Javascript 代码编写的“超酷书签”对该子域进行了 JS文件侦察:
javascript:(function(){var scripts=document.getElementsByTagName("script"),regex=/(?%3C=(\%22|\%27|\`))\/[a-zA-Z0-9_?&=\/\-\#\.]*(?=(\%22|\'|\%60))/g;const%20results=new%20Set;for(var%20i=0;i%3Cscripts.length;i++){var%20t=scripts[i].src;%22%22!=t&&fetch(t).then(function(t){return%20t.text()}).then(function(t){var%20e=t.matchAll(regex);for(let%20r%20of%20e)results.add(r[0])}).catch(function(t){console.log(%22An%20error%20occurred:%20%22,t)})}var%20pageContent=document.documentElement.outerHTML,matches=pageContent.matchAll(regex);for(const%20match%20of%20matches)results.add(match[0]);function%20writeResults(){results.forEach(function(t){document.write(t+%22%3Cbr%3E%22)})}setTimeout(writeResults,3e3);})();
很快,便发现了main.js 文件,通过阅读里面的一些代码后,一段特定代码片段成功引起了小哥的注意。
这段代码包含了注册用户时所有变量的完整 API 路径。快速复制整个代码,然后发出 curl 请求:
成功注册,并实现 HTML 代码注入!
原文:https://medium.com/legionhunters/js-recon-to-html-injection-4cdca8fd88cf