JS信息收集

news/2024/12/20 13:23:46/文章来源:https://www.cnblogs.com/sjjjjer/p/18619080

免责声明:本文章仅用于交流学习,因文章内容而产生的任何违法&未授权行为,与文章作者无关!!!
附:完整笔记目录~
ps:本人小白,笔记均在个人理解基础上整理,若有错误欢迎指正!

2.4 JS信息收集

  1. 引子:上一篇所介绍源码信息收集,主要针对目标站点不可见的后端源码进行收集,往往能收集到的概率小但危害较大。而本篇则介绍针对前后端分离&前端Web的JS的信息收集,由于源码本身可见,因此收集重点从源码转为源码中的敏感信息。
  2. 手工收集
    一般测试者在进行信息收集时,往往会采用工具+手工的方式而非纯手工。而手工收集中最常用的收集方法,则为借助浏览器开发者工具(F12)搜索关键词。
    这里列举一些可能会包含敏感信息的JS关键词:src= , path= ,$.ajax ......
  3. Burp插件收集
    1. HaE:https://github.com/gh0stkey/HaE
      通过规则库正则匹配数据包中的敏感数据,并高亮展示匹配到的数据包。
      以某通为例:
      image-20241219152910344
    2. BurpAPIFinder:https://github.com/shuanx/BurpAPIFinder
      JS敏感信息匹配插件,且据作者说信息匹配除正则外还支持多种模式,集成了HaE、APIKit等敏感信息指纹等。
      例子:
      image-20241219175056679
      依据其配置文件规则匹配,听说该插件支持递归扫描、深入挖掘,因此能获取到更多的信息。不过缺点就是,扫描速度慢,刷新时内存占用高。
  4. 自动化工具收集
    1. 浏览器插件 → FindSomething
      该插件会收集当前标签页源码&JS链接,并将收集到的JS链接再次加载以获取JS源码,随后从获取到的html&js源码中通过正则匹配其中的敏感信息并展示。
      以xiaodi8为例:
      image-20241219181409550
    2. JSFinder:https://github.com/Threezh1/JSFinder
      依据正则检索Web js文件中的URL、子域名等信息。引小迪的评价,“老牌蘸酱”。
      例子:
      image-20241219185253114
    3. URLFinder:https://github.com/pingc0y/URLFinder
      作者说由于JSFinder项目长时间无人维护,因此自己写了一个。项目较新,检索速度快&内容多,对于自动化工具JS信息收集,更推荐该项目。
      例子:
      image-20241219193310542
      相较于JSFinder,使用URLFinder获取到的信息除URL&子域名外,还有各种经规则匹配的敏感信息。
    4. ffuf:https://github.com/ffuf/ffuf
      上述所提到的各种JS敏感信息收集方式,正则、递归等,都是在被发送至浏览器上的JS文件基础进行。而ffuf不同,使用模糊测试的方法,通过大字典去跑目标Web可能存在的JS文件,主要针对部分JS文件可能存在但并未被发送至客户端的情况,从而获取更多信息。
      其实就跟目录扫描差不多,只不过这里扫的全是js文件罢了。由于使用ffuf需要提前准备字典,so 这里分享一个字典站:https://wordlists.assetnote.io/
      例子:
      image-20241219215651649
    5. Packer-Fuzzer:https://github.com/rtcatc/Packer-Fuzzer
      由于WebPack会自动将打包后的JS代码进行混淆,导致上述JS信息收集方式收集到的信息不那么准确,因此针对WebPack站点,建议使用对口工具。
      Packer-Fuzzer,主要目标为WebPack站点,针对被打包的JS文件进行敏感信息收集,且支持部分漏洞检测,扫描完成后会自动生成检测报告。
      例子:
      image-20241219231944767
      该项目会先将整个WebPack打包文件拖下来,再对拖下来的文件内容进行收集敏感信息,最后给出报告。因此实际中使用该工具跑一遍站点速度较慢。
    6. jjjjjjjjjjjjjs:https://github.com/ttstormxx/jjjjjjjjjjjjjs
      针对WebPack站点的敏感信息收集工具。相较于Packer-Fuzzer,该项目仅匹配JS文件中的敏感信息,而不会拖取被打包文件,因此运行速度快。至于这两款工具还有什么优缺点,有用过的师傅可以聊一下🙏。
      例子:
      image-20241220125415215

注:本文介绍了很多关于JS文件信息收集的工具,各个工具的功能或多或少都有些重复性。实际上,不必太纠结用哪款&那款好,我们的目标始终是解决问题而非工具选择。(ps:不要拿工具在网上乱扫哈,我们是禁止所有未授权测试的。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/855811.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vector容器/构造函数/赋值操作/容量和大小/插入和删除/数据存储/互换容器/预留空间

vector基本概念 功能: vector数据结构和数组非常相似,也称为单端数组vector与普通数组区别: 不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展: 并不是在原空间之后续接新空间,而是找更大的内存空间,然后将元数据拷贝新空间,释放原空间vector容器的迭代器是支…

Win11系统如何更改为Win10右键菜单样?Win11系统更改为Win10右键菜单样式方法

Win11系统更改为Win10右键菜单样式方法: 1、按“Win+X”或者鼠标右键点击“开始”菜单,打开“终端管理员”。如下图:2、在命令输入下方命令: reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve3、按“Enter(…

manim边学边做--旋转

本篇介绍Manim中的两个旋转类的动画,名称差不多,分别是Rotate和Rotating。 Rotate类主要用于对图形对象进行指定角度、围绕特定点的精确旋转,适用于几何图形演示、物理模拟和机械运动展示等场景; Rotating类则侧重于创建让对象围绕指定轴或点持续旋转的动画,用于动态图标、…

【日记】什么叫做偷感十足哈哈哈哈哈哈哈哈哈(962 字)

正文今天只有一件比较有意思的事情。晚上应酬,提前庆祝冬至,吃的羊肉汤。我也不知道为什么自上了大学之后,去过的每一个地方都很重视冬至。或许因为快过年了?行领导,市分行检查组,还有一个客户。分了两桌,底层员工一桌,领导和客户一桌。来了三个人来我们这打圈…… 酒过…

博弈论+ybt题解

NIM游戏及其证明 题目描述即为T1,不多赘述有向图游戏及SG函数而对于由\(n\)个有向图游戏组成的组合游戏,设它们的起点分别为\(S_1, S_2, \ldots, S_n\),则有定理: 当且仅当\(\text{SG}(s_1) \oplus \text{SG}(s_2) \oplus \ldots \oplus \text{SG}(s_n) \neq 0\)时,这个游…

MapperScannerConfigurer 配置出错造成没有读取 db.properties 文件中的数据库连接参数

MyBatis 和 Spring 集成中,MapperScannerConfigurer 配置出错造成没有读取 db.properties 文件中的数据库连接参数,进而加载不到正确的 JDBC 驱动,本文记录了问题表现和问题分析。MyBatis-Spring 实现 MyBatis 和 Spring 框架集成。 问题现象 在配置中碰到不能加载 MySQL JD…

聊一聊坑人的 C# MySql.Data SDK

一:背景 1. 讲故事 为什么说这东西比较坑人呢?是因为最近一个月接到了两个dump,都反应程序卡死无响应,最后分析下来是因为线程饥饿导致,那什么原因导致的线程饥饿呢?进一步分析发现罪魁祸首是 MySql.Data,这就让人无语了,并且反馈都是升级了MySql.Data驱动引发,接下来…

如何提高测试过程效率?

前几天写了一篇文章,分享了一些工作汇报的方法和案例,详情见《如何编写年度工作汇报PPT》。 后台有同学留言,对质量度量和测试提效部分提了几个问题,核心集中在如何提高测试过程效率方面。 我在前面写过几篇关于测试提效的文章,分别聊到了影响测试效率的因素,测试团队要提…

真保姆级——在VMware的Ubuntukylin上进行Hadoop单机_伪分布式安装时安装VMware_Tools后虚拟机与物理机之间无法传输文件和复制粘贴的问题(附Ubuntu更改默认登录用户)

目录一、前言二、版本信息三、hadoop用户创建1.创建hadoop用户2.在创建hadoop用户后对系统进行重启四、解决办法4.1 更改默认登陆用户4.2 安装VMware Tools4.3 验证VMware Tools是否安装成功4.4 KO!!!4.4.1 卸载安装的Vmware Tools4.4.2 安装VMware Tools所需的组件五、可能…

菱形计数与最值问题

菱形计数与最值问题题面你有一个边长为 \(n\) 的正六边形。它被划分成了若干个边长为 \(1\) 的小等边三角形。 我们希望通过合并若干对有公共边的三角形,把这个六边形变成若干个边长为 \(1\) 的菱形的划分。对于每对三角形之间,它们合并有一个代价,问最小的总代价是多少。 例…

钉钉机器人 自动化发版

开发机器人接收消息并调用构建接口, 实现自动化发版 发送指令 -> 机器人接收指令 -> 调用jenkins-job远程构建与部署钉钉机器人 自动化发版 #1 简介开发机器人接收消息并调用构建接口, 实现自动化发版 发送指令 -> 机器人接收指令 -> 调用jenkins-job远程构建与部…

ChCore-Lab4

lab 4: 多核调度与IPC 结合IPADS OS Lab Manual一起阅读,风味更佳!多核启动支持:使ChCore通过树莓派厂商所提供的固件唤醒多核执行 多核调度: 使ChCore实现在多核上进行round-robin调度。 IPC:使ChCore支持进程间通信 IPC调优:为ChCore的IPC针对测试的特点进行调优。踩坑1…