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

js逆向之断点调试

1.XHR/提取断点用法

当刷新页面时候,有大量请求,并且你无法定位参数信息的时候,或者参数被混淆无法搜到,可以用该方法,该方法是会捕获所有请求连接,然后我们通过连接过滤出自己想要的请求,然后在调用堆栈中去回溯跟踪。(一般都是抓取最后一次请求)

在这里插入图片描述
步骤很简单,点击加号,然后把url连接关键词丢进去,触发网络请求,这个时候符合要求的就会被断住。

2.条件断点

右键断点小蓝块,然后点击修改断点
在这里插入图片描述

选择条件断点
在这里插入图片描述
写上自己的表达式,为true的时候就会被断住,条件表达式更灵活,不局限于网络请求url过滤

3.日志断点

在这里插入图片描述
在需要断点的地方,进行日志输出,观测值

4.监听JS代理封装

function getEnv(proxy_array) {
    for (let i = 0; i < proxy_array.length; i++) {
        handler = `{
            get: function(target, property, receiver) {
                   console.log('方法:get','    对象:${proxy_array[i]}','    属性:',property,'    属性类型:',typeof property,'    属性值类型:',typeof target[property]);
                   return target[property];
            },
            set: function(target, property, value, receiver){
                    console.log('方法:set','    对象:${proxy_array[i]}','    属性:',property,'    属性类型:',typeof property,'    属性值类型:',typeof target[property]);
                    return Reflect.set(...arguments);
            }
        }`;
        eval(`
            try{
                ${proxy_array[i]};
                ${proxy_array[i]} = new Proxy(${proxy_array[i]},${handler});
            }catch(e){
                ${proxy_array[i]}={};
                ${proxy_array[i]} = new Proxy(${proxy_array[i]},${handler});
            }
        `);
    }
}
//proxy_array = ['window', 'document', 'locaion', 'navigator', 'history', 'screen', 'history']
proxy_array = ['window','document']
getEnv(proxy_array);

一般补环境的时候可以用,但是你也可以直接在html页面中调用JS,浏览器会给你返回错误信息。

相关文章:

  • 告别低效人工统计!自动计算计划进度
  • LintCode第1712题 - 和相同的二元子数组
  • (一)丶Windows安装RabbitMQ可能会遇到的问题
  • Docker入门篇4:查看容器资源、查看容器详细信息、查看容器日志、查看容器内运行的进程
  • uni-app jyf-parser将字符串转化为html 和 rich-text
  • HTML URL 学习笔记
  • 清洁机器人垃圾物识别与智能分类回收系统研究(大纲)
  • 调用链路传递隐式参数
  • 连接chatgpt的桌面语音助手
  • AD(Altium Designer)更换PCB文件的器件封装
  • ObjC属性assign/retain/copy的区别?不同编程语言的属性?ObjC语言obj->name和obj.name的区别?类成员变量?
  • javabean类,测试类,工具类都是什么?
  • 树莓派5介绍与系统安装
  • OpenCV vs MediaPipe:哪种方案更适合实时手势识别?
  • ubuntu桌面图标异常——主目录下的所有文件(如文档、下载等)全部显示在桌面
  • 【MLP多层感知机】
  • c++怎么将输入的一行字符根据“,“分割成字符串数组或者整型数组
  • @WebFilter 注解
  • DeepSeek处理多模态数据的技术要点和实现方式
  • 在CentOS系统上运行Ruby on Rails应用的详细步骤
  • 体坛联播|巴萨“三杀”皇马夺国王杯,陈妤颉破亚洲少年纪录
  • 乌称泽连斯基与特朗普进行简短会谈
  • 手机号旧机主信用卡欠款、新机主被催收骚扰四年,光大银行济南分行回应
  • 经济日报金观平:充分发挥增量政策的经济牵引力
  • 全国首例!上市公司董监高未履行公开增持承诺,投资者起诉获赔
  • 涉军民事案件类型日益增多,最高法新规明晰管辖争议问题