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

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

相关推荐
伍哥的传说12 分钟前
Vue 3 useModel vs defineModel:选择正确的双向绑定方案
前端·javascript·vue.js·definemodel对比·usemodel教程·vue3.4新特性·vue双向绑定
胡gh5 小时前
页面卡成PPT?重排重绘惹的祸!依旧性能优化
前端·javascript·面试
胡gh6 小时前
简单又复杂,难道只能说一个有箭头一个没箭头?这种问题该怎么回答?
javascript·后端·面试
言兴6 小时前
# 深度解析 ECharts:从零到一构建企业级数据可视化看板
前端·javascript·面试
烛阴6 小时前
TypeScript 的“读心术”:让类型在代码中“流动”起来
前端·javascript·typescript
silent_missile8 小时前
element-plus穿梭框transfer的调整
前端·javascript·vue.js
山有木兮木有枝_10 小时前
node文章生成器
javascript·node.js
yes or ok10 小时前
前端工程师面试题-vue
前端·javascript·vue.js
我要成为前端高手11 小时前
给不支持摇树的三方库(phaser) tree-shake?
前端·javascript
牧野星辰11 小时前
让el-table长个小脑袋,记住我的滚动位置
前端·javascript·element