通杀无限 debugger,目前只有 1% 的人知道!

01

前言

相信很多小伙伴在进行 web 逆向的时候,都遇到过无限 debugger。最简单的方法,在 debugger 位置,点击行号,右键 Never pause here,永远不在此处断下即可。但是这种方法就妄想通杀,显然是不大可能的,不然这种防护岂不是弄出来骗自己的。

现在很多网站,这样处理是无法绕过的。例如常规的,可能存在格式化检测,内存爆破,禁用右键,要么就会接着进入到下一个 debugger 中,甚至出现网页卡死的情况等等。这些可能就会挡住一部分爬虫 er。当然,对于大部分人来说,这些都不是问题,八仙过海,祭出各种法宝,检测点改写、删除,文件替换,Hook 掉 constructor 或 setTimeout 等等,K哥之前也写过相关文章:

  • 某空气质量监测平台无限 debugger 以及数据动态加密分析
  • 【JS 逆向百例】无限debugger绕过,某网站互动数据逆向
  • 人均瑞数系列,瑞数 4 代 JS 逆向分析

但终究是提升了咱采集数据的成本,那有什么方法能够一劳永逸的解决掉这个痛点,直接舒舒服服的开始调试呢?

分析

最近吾爱破解上有两篇好文,讲解了无限 debugger 的通杀解决方案:

  • 反调试-编译 pass 彻底解决调试 web 无限 debugger 问题

  • 简单无脑过无限 debugger

简单来说,一个是从浏览器方面解决,一个是浏览器直接帮你解决。

Firefox 于 2023 年 12 月 19 日更新的 121.0 版本,使得小小无限 debugger,隔壁阿姨来了,都能上手一把梭!

我们来看看 Firefox 新版本到底更新了啥,为广大爬虫 er 带来了福音,Firefox 更新日志,新功能很多,通过阅览,我们注意到了这个:

https://www.mozilla.org/en-US/firefox/121.0/releasenotes/?utm_source=firefox-browser&utm_medium=firefox-desktop&utm_campaign=whatsnew

00

The Firefox Debugger now includes a new feature: an option to disable the keyword on the current page. This feature is accessible via a new checkbox in the Breakpoints side panel labeled , located next to the existing checkbox. By default, this option is enabled, meaning that the debugger statements are active unless manually disabled.

debugger;``Pause on debugger statement``Pause on exceptions

翻译:

Firefox Debugger 现在有一个新功能:一个选项可以禁用当前页面的关键字。这个功能可以通过断点侧面板中一个新的复选框来访问, 它位于现有复选框的旁边。默认情况下, 这个选项是启用的, 这意味着除非手动禁用, 否则调试器语句是活动的。

以前在开发者人员工具 Source(调试器)侧边栏的 Breakpoints(断点)中只有一个 Pause on exceptions(异常处暂停)选项,Firefox 更新到 121.0 之后,多了一个 Pause on debugger statement(在调试器语句上暂停)选项,这个新选项是默认勾选的,即不禁用,理论上,取消勾选之后,就能绕过无限 debugger,真的假的?我们来测试一下。

实践

首先下载个浏览器:Firefox 火狐浏览器官方最新下载,下载下来的版本为 116.0,并非最新版,需要去设置中更新到 121.0 版本:

02

接下来,我们找几个网站测试一下。

1. 瑞数 4 代

正常情况:

03

取消勾选 Pause on debugger statement:

04

2. 瑞数 vmp

正常情况:

05

取消勾选 Pause on debugger statement:

06

3. 17track

正常情况:

07

取消勾选 Pause on debugger statement:

08

总结

根据实际测试,取消勾选 Pause on debugger statement 确实能直接绕过无限 debugger!大伙可以去多找些网站试试。当然,如果碰上 2、3 这种有格式化检测的网站,会有些卡顿,不过这也极大的降低了复杂度!希望 Chrome、Edge 等浏览器也尽快实现这种好用的功能,甚至更为完善~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电子科技大学《高级算法设计与分析》期末复习汇总

🎉 博主相信: 有足够的积累,并且一直在路上,就有无限的可能!!! 👨‍🎓个人主页: 青年有志的博客 💯 说明: 本文中前大部分来自简言之大…

Ubuntu 常用命令之 sudo 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 sudo命令在Ubuntu系统中是一个非常重要的命令,它允许系统管理员赋予某些用户(或用户组)以系统管理员的身份运行一些或全部的命令。sudo代表“superuser do”,即以超级用户的身份执行…

SQL Server 安装教程

安装数据库 1、启动SQL Server2014安装程序,运行setup.exe文件,打开”SQL Server安装中心“对话框,单击左侧 的导航区域中的”安装“选项卡。 2、选择”全新SQL Server独立安装或向现有安装添加功能“,启动SQL Server2014安装向导…

【虹科分享】使用Allegro网络万用表进行网络分析

文章速览: Allegro网络万用表在公用事业公司的应用领域Allegro网络万用表 VS. WiresharkAllegro 200和Allegro 500:作为标准配置 传统企业成为互联网服务提供商,如何利用数字工具实现现代化转型?本期文章,我们分享一家…

C++初阶-模板进阶

模板进阶 一、非类型模板参数1.1 引出1.2 非类型模板参数 二、array类2.1 array类的介绍与价值2.2 array的特性2.2.1 array和vector的区别2.2.2 大小不一样2.2.3 array与vector的区别2.2.4 总结 三、模板的特化3.1 概念3.2 函数模板的特化3.3 类模板的特化3.3.1 全特化3.3.2 偏…

ansible远程操作主机功能(2)

command模块 一般用于执行Linux的命令,不支持管道符和重定向。 2,shell模块相当于command的升级版,也可以执行Linux命令。支持管道符和重定向 3,Cron在远程主机生成定时任务 分 时 日 月 周 Minute hour day month …

搅拌站智能上料系统,无人值守,均匀布撒!

搅拌站中的骨料上料系统,遇上最新的人工智能技术,会碰撞出怎样的新发展和新突破?今天和砼行们分享一个现场案例,这是思伟软件在某数字化搅拌站中的应用。 上料无人值守 后场上料配合无人地磅系统,仅需1名操作员在控制…

上市十年 这家互联网服务平台窥见汽车市场“沧海桑田”

十年,对于一家上市公司而言意味着什么?以中概股为例,十年里的高低起伏,折射出不同公司和行业的各异命运。 新浪在2021年私有化退市,曾经名声在外的聚美优品在2020年遭遇同样命运。再往前数,还有离开美股回…

985等高校急速开设“鸿蒙班”,引领IT就业新时代

​根据澎湃新闻记者了解到,华为以及鸿蒙系软件厂商都在积极培养鸿蒙开发人才。其中产学联动、产教融合来培养鸿蒙生态人才是重要的一条路径,目前已有 23 家 985 高校、46 家 211 高校已开设或即将开设HarmonyOS 相关课程。 其中南京大学已经将 HarmonyOS…

版本化数据库管理工具Flyway介绍和Spring Boot集成使用

文章目录 核心功能如何使用 Flyway最佳实践Spring Boot使用 Flyway 是一个版本化数据库管理工具,用于跟踪、管理和应用数据库的变化。它非常适合在团队开发环境中使用,其中多个人员可能会在数据库结构进行更改。Flyway 通过版本控制可以帮助你确保所有人…

使用MyBatis操作数据库及单元测试

目录 一.MyBatis介绍 二.MyBatis操作数据库步骤 三.单元测试 idea上生成测试 配置mybatis日志 动态参数 一.MyBatis介绍 MyBatis是⼀款优秀的持久层框架,⽤于简化JDBC的开发。 JDBC来操作数据库太复杂了,使用MyBatis 是因为它可以帮助我们更⽅便、更快速的操作…

判断单链表是否有环?中点如何判断?入环点如何判断?

首先我们需要克服我们一种错误的认知,链表有环,并不是有“死节”,如下所示,左侧的这种链表结构是不存在的,因为在相交的那个节点不可能有两个指针,只有像右侧这种结构才是存在的 判断链表是否有环的方法&am…

AI代码翻译神器,用AI翻译代码,轻松学习不同编程语言,已开源!

体验地址,github地址和部署地址在文章底部 AI代码翻译器的优势 近年来,随着技术的快速进步,人工智能技术展现出了在各个领域发挥作用的巨大潜力。AI代码翻译器作为一项创新技术,为开发者带来了全新的可能性。这项技术运用人工智…

Slurm随手记

写在前面:项目要用,随便记录一下 文章目录 简介快速开始框架命令建议MPI 参考资料: https://slurm.schedmd.com/quickstart.html https://blog.csdn.net/weixin_42279314/article/details/109677459 https://hpc.pku.edu.cn/_book/guide/slu…

在 2 万病例中识别出 31 例漏诊,阿里达摩院牵头发布「平扫 CT +大模型」筛查胰腺癌

作者:李宝珠 编辑:三羊 阿里达摩院联合国内外十余家医疗机构,发布 PANDA 大模型,实现胰腺癌早期筛查,在 2 万余真实世界连续病人群体中发现了 31 例临床漏诊病变。 尽管医学发展日新月异,但人们还是不免谈「…

AIGC绘画关键词 - 神兽类(一)

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…

【Linux系统编程】进程的认识

介绍: 进程是程序执行的实体,可将其理解为程序。比如:当我们使用文本编辑器Notepad应用程序来编写一篇文章时,此时,Notepad应用程序就被加载到了内存中,并且它占用的资源(如内存、CPU等&#xf…

一篇文章带你进阶CTF命令执行

以下的命令是为了方便以后做题时方便各位读者直接来这里复制使用,刚开始还请先看完这篇文章后才会懂得下面的命令 ?ceval($_GET[shy]);&shypassthru(cat flag.php); #逃逸过滤 ?cinclude%09$_GET[shy]?>&shyphp://filter/readconvert.base64-…

三、W5100S/W5500+RP2040之MicroPython开发<DNS示例>

文章目录 1. 前言2. 相关网络信息2.1 简介2.2 DNS工作过程2.3 优点2.4 应用 3. WIZnet以太网芯片4. DNS解析示例讲解以及使用4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 烧录验证 5. 注意事项6. 相关链接 1. 前言 在这个智能硬件和物联网时代,MicroPyt…

隐藏通信隧道技术——防御DNS隧道攻击

隐藏通信隧道技术——防御DNS隧道攻击 DNS协议 ​ DNS协议是一种请求/应答协议,也是一种可用于应用层的隧道技术。虽然激增的DNS流量可能会被发现,但是基于传统Socket隧道已经濒临淘汰及TCP、UDP通信大量被防御系统拦截的状况,DNS、ICMP、H…
最新文章