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

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

相关推荐
烬羽5 小时前
后端返回的 JSON 字符串,浏览器怎么"看懂"的?——Ajax 全链路拆解
javascript
半个落月6 小时前
一个新手用 Bun + Axios 调通 DeepSeek API 的实践记录
javascript
不好听6136 小时前
深入理解链表:线性数据结构的另一面
javascript·数据结构
林希_Rachel_傻希希6 小时前
学React治好了我的焦虑症,1小时速通React 前20分钟。
前端·javascript·面试
小林ixn6 小时前
从 Ajax 到异步编程:JSON 序列化、Event Loop 与 XHR 请求完全解析
javascript
丷丩7 小时前
MapLibre GL JS第47课:添加动画图标
javascript·gis·动画·mapbox·maplibre
快乐的哈士奇8 小时前
【Next.js实战①】Gmail API 按柜号检索邮件:OAuth 双 Cookie 与搜索 Fallback
开发语言·javascript·ecmascript
云水一下8 小时前
Vue.js从零到精通系列(五):全局状态管理——Pinia 核心与实践
前端·javascript·vue.js
kmblack19 小时前
javascript计算年龄
开发语言·javascript·ecmascript
Dick5079 小时前
ROS2 多机器人通用 Driver 层复盘:BaseRobotDriver 到多平台 Mock 切换实现
前端·javascript·机器人