js逆向-无限debugger的原理与绕过

news2025/1/24 17:49:01

js逆向-无限debugger的原理与绕过

debugger是JavaScript中定义的一个专门用于断点调试的关键字,只要遇到他,JavaScritp的执行便会在此处中断,进入调试模式。

有了debugger这个关键字,我们就可以非常方便地对JavaScript代码进行调试,比如使用JavaScript Hook时,我们可以加入debugger关键字,使其在关键的位置停下来,以便查找逆向突破口。

但有时候,debugger会被网站开发者利用,使其成为阻挠我们正常调试的拦路虎。

本节我们介绍一个案例来绕过无限debugger

12.1 案例介绍

我们先看一个案例,网址是 https://antispider8.scrape.center/,打开这个网站,一般操作和之前的网站没有什么不同。但是,一旦我们打开开发者工具,就发现它立即进入了断点模式,如图:

image.png

我们既没有设置任何断点,也没有执行任何额外的脚本,它就直接进入了断点模式。这时候我们可以点击 Resume script execution(恢复脚本执行)按钮,尝试跳过这个断点继续执行。如图所示:

image.png

然而不管我们点击多少次按

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

想用python拿大厂offer?那这个一定是你需要的

想用python拿大厂offer?那这个一定是你需要的 python,是一种解释型(高级)的,面向对象的,带有动态语义的高级程序设计的开源语言。1989年,Guido von Rossum(荷兰人)人称龟…

新华三推出人工智能模型训练平台,让智慧算力触手可及

随着AI技术不断完善升级,产业界的主要需求已经不再是基础算法的打磨,而是如何让AI技术与行业场景、企业需求相契合。不久之前,科技部等六部门联合印发了《关于加快场景创新以人工智能高水平应用促进经济高质量发展的指导意见》,明…

新浪l2接口如何获取某个记录类型对应的记录情况?

新浪l2接口获取某个记录类型对应的记录情况: 用法: get_result_records (recordtype, index, ContextInfo) 释义: 获取某个记录类型对应的某个时刻的记录情况。 *注:模型回测时有效,获取的为回测面板中的记录结果 …

Jmeter结果处理小心得

[内部资源] 想拿年薪30W的软件测试人员,这份资料必须领取~ Python自动化测试全栈性能测试全栈,挑战年薪40W 正文 工作中用jmeter请求一个接口对谈得上会jmeter的人似乎都是可以做出来的,但是实际难点是参数化,结果的断言&#…

谁会嫌钱多啊,最适合Python兼职攻略以及接私活经验!一定要看到最后!

想给大家谈谈一个非常热门的话题,就是如何在学习python的同时去赚钱。在这篇文章中,你会学习到如何通过学习python来赚取副业收入。 相信大家都对钱感兴趣吧,如果你和马云爸爸对钱不敢兴趣的话,那这篇文章就不适合你了。 如果你想…

ArcGIS的城市空间发展模拟预测案例

ArcGIS除了空间分析评价、综合制图等, 它其实还有一个很强大的功能! 这个功能,简直就是科研利器, 就叫它——模拟预测分析吧! 它涉及地质、环保、国土、规划、水利、气象等多方面的分析应用,科学进行城市空间发展变化的模拟预测! 城市空间单元划分与采样 划定分析单元…

汇编数据串操作和修改标志位指令处理机控制指令

目录 不使用数据串操作 数据串指令 数据串操作指令注意: MOVS数据串传送指令 (重点掌握) REP重复指令(补充) LODS取数据串(只有源) STOS存入串(只有目标) CMPS串比较 可以加重…

设计模式之责任链模式

Chain of responsibility 责任链模式的概念、责任链模式的结构、责任链模式的优缺点、责任链模式的使用场景、责任链模式的实现示例、责任链模式的源码分析 1、责任链模式的概念 责任链模式,即把请求从链中的一个对象传到下一个对象,知道请求被响应为止…

多数据源事务处理-涉及分布式事务

一. 数据源跨库但是不跨 MySql 实例 这个形式就是数据源在同一个 MySQL 下,但是 jdbc-url 上的数据库配置不同,涉及多个数据库时,如果方法中发生异常,只有开启事务的数据源会发生回滚,其他数据源不会回滚。看到这里可…

禅道 删除回收站

回收站的内容只能进入数据库删 如何访问数据库 1、网页登录数据库 禅道数据库管理用的是adminer,但是为了安全,访问adminer的时候需要身份验证,需要运行/opt/zbox/auth/adduser.sh来添加用户(先 cd /opt/zbox/auth/ 然后执行 ./adduser.sh…

线程和进程 / 进程和线程的区别和联系

💖 欢迎来阅读子豪的博客(JavaEE篇 🤴) 👉 有什么宝贵的意见或建议可以在留言区留言 💻 欢迎 素质三连 点赞关注 收藏 🧑‍🚀码云仓库:补集王子的代码仓库 不要偷走我小…

飞宇医药冲刺创业板:年营收4.56亿 拟募资4.38亿

雷递网 雷建平 12月20日江苏飞宇医药科技股份有限公司(简称:“飞宇医药”)日前递交招股书,准备在深交所创业板上市。飞宇医药计划募资4.38亿元,其中,1.79亿元用于年产6000吨侧链及6,000吨酰氯扩产项目&…

QT Qmake笔记

文章目录概述QT修改样式qmake概述pro文件常见配置项库引用和库路径指定QT创建动态库和使用(重要)小例子写动态库用动态库参考资料附录概述 本文记录一些学习QT过程中的笔记。 QT修改样式 styleSheet: background-image:url("/home/o…

大学生转行,毕业一年半,她是如何从工地走向互联网的?

如果专业与工作不匹配?如果觉得现有工作不适合自己?如果想转行?可以看一下她的成长故事。 领英18年数据显示,职场人第一份工作在职时间显著缩短,70后平均超过4年换一次工作,80后是3年半,90后是…

Bitmap64为什么比bitmap32慢

https://www.bilibili.com/video/BV1vU4y1q7KR/?spm_id_from333.788&vd_sourcefa36a95b3c3fa4f32dd400f8cabddeaf 原因跟 RoaringBitmap64 的实现有关,RoaringBitmap64 是由一系列 RoaringBitmap32 表示。实现方式有很多种,一种比较通用的做法用 ma…

【MyBatis】MyBatis Plus的使用

1.Mybatis-Plus 1.1 简介 MyBatis-Plus 是一个 Mybatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在。 官网文档地址:   https://mp.baomidou.com/guide/ MyBatis-Plus 特性:  …

非科班出身转行IT难吗?好找工作吗?

大家都知道,IT行业是出了名的高薪行业,很多传统行业/专业的小伙伴由于薪资低、就业机会少而有了想转行IT的想法。 他们通常有以下几个问题: 非计算机专业0基础能学会技术吗?非计算机专业如何转行到IT行业?非计算机专…

记录--可视化大屏-用threejs撸一个3d中国地图

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 不想看繁琐步骤的,可以直接去github下载项目,如果可以顺便来个star哈哈 本项目使用vue-cli创建,但不影响使用,主要绘制都已封装成类 1、使用geoJson绘制…

Java并发系列源码分析(四)--StampedLock

简介 ReentrantReadWriteLock是一个悲观的可重入的读写锁,而StampedLock既支持悲观锁也支持乐观锁但不支持锁的重入, 在ReentrantReadWriteLock下如果多个线程同时获取读锁的时候,获取写锁的线程就会被挂起进行等待,在StampedLock乐观锁下如果有线程加了写锁,其它读线程可以获…

英语不好能不能学好python?试试我的方法就知道了

这是本文的目录前言一、交互环境与print输出(python编程常用单词)二、字符串操作(python编程常用单词)三、重复\替换\转换\原始字符串(python编程常用单词)四、去除\查询\计数(python编程常用单…