前言
免杀结束了,我们开个新的篇章——信息收集。为什么我一开始先写信息收集的文章呢,是因为现在我才发现我的信息收集能力其实有点弱的,所以呢开始知不足,而后进。
什么是JS
JS就是JavaScript的简称,它和Java是没有任何关系的。这个语言有个特点,就是如果用这个语言开发的网站,我们可以在浏览器端看到它真实的源代码,而像其它的语言比如PHP、python、Java开发的网站在浏览器上面是不可以看到源码的,根据这一特点我们在对JS的网站进行信息收集时候多了一个思路。
我们打开一个JS的网站,F12可以在调试器里面看到调用了大量的JS代码。
JS框架识别
常见的JS框架有Vue、NodeJS、jQuery、Angular,我们可以利用火狐自带的插件Wappalyzer来自动识别插件。
信息泄露提取
一般来说JS信息泄露主要有以下几个方面。
1、源码泄漏
2、未授权访问=JS里面分析更多的URL访问确定接口路径
3、敏感key泄漏=JS文件中可能配置了接口信息(云应用,短信,邮件,数据库等)
4、API接口安全=(代码中加密提交参数传递,更多的URL路径)
手工搜索
我们可以在JS源码中搜一下以下的关键字,看看是否有有用的信息,可以看到还是会有一些链接的,我们可以对它访问万一就是某个接口呢。
src=
path=
method:“get”
http.get("
method:“post”
http.post("
$.ajax
半自动Burp分析
可以利用BP帮你自动把JS文件提取出来,抓个包,Target->sitemap->右键选择Engagement tools->Find scripts,这样JS文件就会被提取出来,这个方法感觉和上面那个差不多。
我们来看一下BP官方的插件,Extender->BApp Store->JS Link Finder & JS Miner,直接安装这两个插件即可。
我这里下载这两个插件还需要下载什么Jython,懒得搞了。
https://github.com/ScriptKid-Beta/Unexpected_information
GitHub - gh0stkey/HaE: HaE - Highlighter and Extractor, Empower ethical hacker for efficient operations.https://raw.githubusercontent.com/gh0stkey/HaE/gh-pages/Config.yml
BP还支持导入第三方插件,我们这里导入HaE、Unexpected_information这两个第三方插件,Extensions->Installed->HaE、Unexpected_information。
一开始呢是没有那么多匹配的规则的,我们直接复制它这个规则的路径。
把原来的规则替换为我们的,再重新载入即可。
这样就会有很多规则了。
这样等我们去抓包的时候,当检测到与规则相对应的时候就会给标记颜色。
自动化分析
火狐添加扩展Findsomething,这个插件对自动帮你收集好JS信息。
Jsfinder这个项目会提取敏感的URL。
https://github.com/Threezh1/JSFinder
python JSFinder.py -u https:xxxx
URLFinder这个也是提取敏感URL的项目,和Jsfinder差不多,但是Jsfinder好久没跟新了。
https://github.com/pingc0y/URLFinder
URLFinder-windows-amd64.exe -u https:xxxxx -s all -m 2
JSINFO-SCAN
https://github.com/p1g3/JSINFO-SCAN
jsinfo.py --target https://px.gtxy.cn/np/#/login
ffuf-FUZZ这个工具类似dirsearch,是用来爆破JS文件的,要配合字典文件才行。
字典:https://wordlists.assetnote.io/
工具:https://github.com/ffuf/ffuf
ffuf_2.0.0_windows_amd64>ffuf.exe -w js字典.txt -u https://m.xjggjy.com/FUZZ -t 200
Packer-Fuzzer-针对JS框架开发打包器Webpack检测,这个工具呢只有是Webpack这个打包器的网站才能使用,直接利用那个Wappalyzer插件来查看杂项是否为Webpack的网站即可。
执行命令报错参考这篇文章。https://blog.csdn.net/wushangyu32335/article/details/135705997?spm=1001.2014.3001.5501
python packerfuzzer.py -u xxxx
总结
主要是对JS的信息收集,可以人工翻阅它的js文件,也可以用工具自动化收集,都是大差不差的。
最后还是要声明一下,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。