乐于分享
好东西不私藏

JS逆向必备:这款插件能Bypass Debugger、Hook CryptoJS、抓取路由

JS逆向必备:这款插件能Bypass Debugger、Hook CryptoJS、抓取路由

AntiDebug_Breaker

    请勿利用文章内的相关技术从事非法渗透测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具和内容均来自网络,仅做学习和记录使用,安全性自测,如有侵权请联系删除

项目地址在文章底部哦

Intro

本插件是基于Hook_JS库所写的Google插件,将致力于辅助前端JavaScript逆向以及渗透测试信息收集。

如何提交您自己的脚本:AntiDebug_Breaker wiki

教学视频

反调试:https://www.bilibili.com/video/BV1gQ4mzMEA4

Vue:https://www.bilibili.com/video/BV12148z7EnP

Hook CryptoJS对称加密 快速出key、iv、mode、padding:https://www.bilibili.com/video/BV1MPW1zDEK8

JS逆向快速定位加密位置以及获取加密密文等加密参数:https://www.bilibili.com/video/BV1cRyXBaEJX

插件安装

将源码下载到本地后打开chrome,访问chrome://extensions/,点击左上角的加载未打包的扩展程序,然后选中源码文件夹即可: 

脚本使用场景

AntiDebug

  • Bypass Debugger
  • hook log
  • Hook table
  • hook clear
  • hook close
  • hook history
  • Fixed window size
  • 页面跳转JS代码定位通杀方案
  • Hook CryptoJS
  • Hook JSEncrypt RSA

Hook

  • document.cookie
  • XMLHttpRequest.setRequestHeader
  • XMLHttpRequest.open
  • localStorage.setItem
  • localStorage.getItem
  • localStorage.removeItem
  • localStorage.clear
  • sessionStorage.setItem
  • sessionStorage.getItem
  • sessionStorage.removeItem
  • sessionStorage.clear
  • fetch
  • JSON.parse
  • JSON.stringify
  • Promise
  • Math.random
  • Date.now

Vue

  • 获取路由
  • 清除跳转
  • 清除路由守卫
  • 激活Vue Devtools

反调试

  • Bypass Debugger

该脚本用于绕过无限Debugger,目前引起无限Debugger的三种核心方式为:

eval

Function

Function.prototype.constructor

本脚本通过 Hook 以上核心函数有效绕过大部分前端无限 debugger。但因 eval 作用域问题,某些网站可能会报错。此时可切换至火狐浏览器无视debugger进行调试。

注:极少数网站可能采用特殊反制措施(如故意引发eval作用域问题或其他问题),导致前端报错或依然能引起debugger,这种情况需针对性解决。总体而言,本脚本能覆盖绝大多数场景

脚本原理:JS逆向系列14-Bypass Debugger

  • hook log
  • Hook table

频繁调用console.clear清除控制台数据

控制台频繁输出大量内容

进行完以上两种操作后直接使用location.href进行跳转,一般跳转到主域名为github.io的网站。

如存在以上特征的网站,均可尝试使用本脚本去进行绕过。

脚本原理:JS逆向系列19-无感绕过一类运行时间差反调试

  • hook clear

禁止js清除控制台数据。

脚本原理:JS逆向系列10-反调试与反反调试

  • hook close

重写close,以此来避免网站反调试关闭当前页面。

脚本原理:JS逆向系列10-反调试与反反调试

  • hook history

避免网站反调试返回上一页或某个特定历史页面。

脚本原理:JS逆向系列10-反调试与反反调试

  • Fixed window size
innerHeight:660innerWidth:1366outerHeight:760outerWidth:1400
  • 页面跳转JS代码定位通杀方案
  • Hook CryptoJS
  • Hook JSEncrypt RSA

Hook

  • document.cookie
  • XMLHttpRequest.setRequestHeader
  • XMLHttpRequest.open
  • localStorage.setItem
  • localStorage.getItem
  • localStorage.removeItem
  • localStorage.clear
  • sessionStorage.setItem
  • sessionStorage.getItem
  • sessionStorage.removeItem
  • sessionStorage.clear
  • fetch
  • JSON.parse
  • JSON.stringify
  • Promise
  • Math.random
  • Date.now

Vue

  • 获取路由
  • 清除跳转
  • 清除路由守卫

脚本原理:最大化收集Vue框架(SPA类型)下的js

  • 激活Vue Devtools

📖 项目地址

https://github.com/Xcaiji6/AntiDebug_Breaker

💻 威胁情报推送群

  如果师傅们想要第一时间获取到最新的威胁情报,可以添加下面我创建的钉钉漏洞威胁情报群,便于师傅们可以及时获取最新的IOC

 如果师傅们想要获取网络安全相关知识内容,可以添加下面我创建的网络安全全栈知识库,便于师傅们的学习和使用:

    覆盖渗透、安服、运营、代码审计、内网、移动、应急、工控、AI/LLM、数据、业务、情报、黑灰产、SOC、溯源、钓鱼、区块链等  方向,内容还在持续整理中……

点分享
点收藏
点在看
点点赞
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » JS逆向必备:这款插件能Bypass Debugger、Hook CryptoJS、抓取路由

评论 抢沙发

7 + 1 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮