信息收集—JS框架识别&泄露提取&API接口泄露&FUZZ爬虫&插件项目

前言

免杀结束了,我们开个新的篇章------信息收集。为什么我一开始先写信息收集的文章呢,是因为现在我才发现我的信息收集能力其实有点弱的,所以呢开始知不足,而后进。

什么是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文件,也可以用工具自动化收集,都是大差不差的。

最后还是要声明一下,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。

相关推荐
痴憨道人17 分钟前
openharmony sdk描述
javascript
loey_ln21 分钟前
FIber + webWorker
javascript·react.js
lv程序媛1 小时前
el-table表头前几列固定,后面几列根据接口返回的值不同展示不同
javascript·vue.js·elementui
ZwaterZ1 小时前
el-table-column自动生成序号&&在序号前插入图标
前端·javascript·c#·vue
蒟蒻的贤1 小时前
vue学习11.21
javascript·vue.js·学习
初遇你时动了情2 小时前
uniapp 城市选择插件
开发语言·javascript·uni-app
zongzi_4943 小时前
二次封装的天气时间日历选择组件
开发语言·javascript·ecmascript
麻辣_水煮鱼3 小时前
vue数据变化但页面不变
前端·javascript·vue.js
一条晒干的咸魚3 小时前
【Web前端】实现基于 Promise 的 API:alarm API
开发语言·前端·javascript·api·promise
WilliamLuo4 小时前
MP4结构初识-第一篇
前端·javascript·音视频开发