当前位置: 首页 > news >正文

无限debugger

一. eval('debugger') 实现

解决方式:hook eval

    _eval = eval;eval= function(){if (arguments[0].indexOf('debugger') === -1)return _eval(arguments[0])}
  1. 保存原始的eval函数:借助_eval = eval,把原始的全局eval函数保存到_eval变量里。
  2. 重新定义eval函数
    • 当新的eval函数被调用时,它会先查看传入的第一个参数(也就是要执行的代码字符串)中是否包含debugger字符串。
    • 一旦发现包含debugger,该函数就会直接返回undefined,不会执行这段代码。
    • 若不包含debugger,则会调用之前保存的原始eval函数来执行代码

二 . 添加script标签,插入debugger

cont = document.body;
var newScript = document.createElement("script");
newScript.type = "text/javascript";
newScript.innerHTML = "debugger";
cont.appendChild(newScript);

  解决方案:document.createElement里面把script重写

扩展

hook 原型链 解决无限debugger

_appendChild = Node.prototype.appendChild;
Node.prototype.appendChild = function () {if (arguments[0].innerHTML &&arguments[0

相关文章:

  • SDL2常用函数:SDL_RendererSDL_CreateRendererSDL_RenderCopySDL_RenderPresent
  • LVGL(lv_keyboard键盘)
  • Essential Studio for JavaScript:首款专用于LOB应用开发的JavaScript框架
  • node.js配置变量
  • x86 与 ARM 汇编深度对比:聚焦 x86 汇编的独特魅力
  • n8n 读写本地文件
  • 计算机网络学习20250526
  • 构建版本没mac上传APP方法
  • 电子电路:什么是电动势?
  • 数据库的索引概述与常见索引结构
  • 机器人工具中心点标定
  • UR10e 机器人如何通过扭矩控制接口实现高效装配
  • 【R语言科研绘图-最小二乘法】
  • 【后端高阶面经:MongoDB篇】40、怎么优化MongoDB的查询性能?
  • 万勋“机器人服务”全新品牌—汎汐®全球首发!独家服务高空建筑清洗、风机运维等场景
  • AI时代新词-AI驱动的自动化(AI - Driven Automation)
  • 用MMdetection框架训练自己的数据集(全流程实战)
  • BugKu Web之get
  • 什么是3D全景视角?3D全景有什么魅力?
  • 康师傅的“价值战”答卷:一碗面的创新与担当
  • 烟台专业做网站公司哪家好/凡科网免费建站
  • 做网站文案用哪个软件/搜狗网页
  • 品牌网球拍有哪些/优化网络培训
  • wordpress建站费用/百度地图推广电话
  • 对于给不良网站发律师函如何做/营销渠道
  • 沈阳市城乡建设局网站/google浏览器官网下载