秒杀JS异步加载光速出洞 —— JSHack脚本

admin 2024年12月30日14:06:05评论66 views字数 1768阅读5分53秒阅读模式

秒杀JS异步加载光速出洞 —— JSHack脚本

大家好,今天我们来聊一聊JavaScript异步加载的原理,以及如何利用这些知识来增强网络安全检测。我们将介绍prefetchpreload与JS异步加载的关系,并展示一个实用的油猴脚本——JSHack。

JavaScript异步加载原理

在现代Web开发中,JavaScript已经成为不可或缺的一部分。为了提升页面加载速度和用户体验,JavaScript文件的异步加载技术变得尤为重要。

什么是异步加载JS

同步加载方法通常使用 script 标签直接在HTML文档中嵌入或链接外部JavaScript文件,这种方式下,浏览器会等待JavaScript文件加载并执行完成后,才会继续解析HTML文档的其余部分。而异步加载JavaScript可使用 async 或 defer 属性在 script 标签中实现。异步加载允许浏览器继续解析HTML,不必等待JavaScript文件的加载和执行。(引用自奇安信攻防社区文章:利用js挖掘漏洞)

https://forum.butian.net/share/3915

实战案例

在实际的渗透测试中,通过对js的挖掘可以发现诸多安全问题。例如,通过异步加载的JavaScript文件可能包含敏感信息,或者在加载过程中存在可被利用的漏洞。

第一个案例大家可以直接去奇安信攻防社区查看:中铁13层打工人 这个大佬的文章: 利用js挖掘漏洞

那么直接开始我的案例:

这是上个月我遇到的一个站点,习惯性灯塔模块全开(因为有授权),WIH结果中出现了一个js代码中账户密码泄露,但是我在目标站点F12搜索,怎么也找不到这个泄漏点,我甚至怀疑是误报,但是直接访问对应js链接发现确实是存在泄露

秒杀JS异步加载光速出洞 —— JSHack脚本

问了一下做前端的好兄弟,终于明白是js异步加载,然后对前端html页面进行启用本地替代,修改了加载规则 替代前:

秒杀JS异步加载光速出洞 —— JSHack脚本

搜索密码搜不到

秒杀JS异步加载光速出洞 —— JSHack脚本

替代后:

秒杀JS异步加载光速出洞 —— JSHack脚本

搜索到了密码

秒杀JS异步加载光速出洞 —— JSHack脚本

那么又考虑到每次修改还是很麻烦的,所以决定做成脚本武器化便于迅速发现前端一些敏感信息泄露。

JSHack脚本:快速检测JS异步加载

在这样的背景下,我们开发了JSHack脚本,这是一个油猴脚本,用于自动将网站中的JS资源加载方式从prefetch修改为preload,以便更快地检测潜在的安全问题。

脚本原理

JSHack脚本通过修改HTML中的link标签,将rel="prefetch"更改为rel="preload",并指定as属性为stylescript。这样做的目的是确保关键的JS资源能够被浏览器优先加载,从而加快安全检测的速度。

如何使用JSHack脚本

要使用JSHack脚本,您需要先安装ScriptCat,然后安装JSHack脚本。以下是安装步骤:

  1. 1. 安装ScriptCat: 访问ScriptCat官网 ScriptCat 并按照指引安装ScriptCat浏览器扩展。
  2. 2. 安装JSHack脚本
    • • 打开ScriptCat浏览器扩展。
    • • 访问JSHack脚本页面 JSHack

      https://scriptcat.org/zh-CN/script-show-page/2558

    • • 点击安装按钮,按照提示完成脚本的安装。

联动bp插件HaE、CaA

秒杀JS异步加载光速出洞 —— JSHack脚本
秒杀JS异步加载光速出洞 —— JSHack脚本实现打开站点就出洞!

脚本优势

  1. 1. 快速检测:通过预加载关键JS资源,可以快速检测前端敏感信息泄露。
  2. 2. 联动工具:推荐与浏览器插件如HaE、CaA联动使用,提高检测效率。
  3. 3. 统计功能:脚本会在控制台输出预加载的JS数量,方便用户了解当前页面的资源加载情况。
  4. 4. 彩色日志:为了便于调试,脚本的控制台输出采用了彩色日志,使得关键信息一目了然。
  5. 5. 更迅速通用:与asyncdefer调试方法相比,JSHack脚本的方法更迅速通用,因为它直接修改了资源的加载优先级,而不是依赖于浏览器的异步加载机制,也不需要每次手动爬取JS编写JS脚本。

结语

网络安全是一个不断发展的领域,而前端安全检测是其中的重要一环。JSHack脚本的诞生,正是为了帮助安全研究人员和开发者更快地发现和修复潜在的安全问题。我们相信,通过不断优化和更新这样的工具,我们可以为网络安全贡献一份力量。

此心安处是吾乡,愿每一位网络安全从业者都能找到属于自己的一片天地。

原文始发于微信公众号(朱厌安全):秒杀JS异步加载光速出洞 —— JSHack脚本

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月30日14:06:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   秒杀JS异步加载光速出洞 —— JSHack脚本https://cn-sec.com/archives/3570100.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息