记录下,用油猴Tampermonkey监听所有请求,绕过seesion

油猴Tampermonkey监听所有请求,绕过seesion

前因后果

原因是要白嫖一个网站的接口,这个接口的页面入口被隐藏掉了,不能通过页面调用,幸好之前有想过逆向破解通过账号密码模拟登录后拿到token,请求该接口,不过网站有很多混淆代码,调试的头大了就放弃了;那么换个思路,登录成功后必定有个token存在seesion,那么我怎么拿呢,肯定在登录成功后,拿的响应的数据set到localStorage上,在写个点击监听器,实时把localStorage的token发到后端保存起来,那来实践下。

脚本编写

javascript 复制代码
// ==UserScript==
// @name         chek
// @namespace    http://tampermonkey.net/
// @version      2024-11-15
// @description  try to take over the world!
// @author       You
// @match        *://*/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @run-at       document-start
// @grant        unsafeWindow
// @grant        GM_xmlhttpRequest
// ==/UserScript==

重要参数

@run-at document-start //文档加载完成开始录制

@grant unsafeWindow //windwos权限产生

@grant GM_xmlhttpRequest //获取请求能力权限

关键代码:

javascript 复制代码
(function() {
	function addXMLRequestCallback(callback){
      //实现逻辑省略.......
      //需要完整的例子关注  ++++++++++++++++++++++++++
    }


    'use strict';
     // 确保脚本只绑定一次点击事件
    window.addEventListener('load', function() {
        document.body.addEventListener('click', function() {
            var api_token = localStorage.getItem('API_TOKEN')
            console.log(api_token)
            GM_xmlhttpRequest({
               //这里发送请求到自己服务接口 把token固化下来
            });
        });
    });

    addXMLRequestCallback( function( xhr ) {
            xhr.addEventListener("load", function(){
              //判断页面加载状态的
                if ( xhr.readyState == 4 && xhr.status == 200 ) {
                     console.log(xhr.responseURL);
                    //判断是不是自己想要监听的URl地址  字符串就是 你需要监听的地址
                    if ( xhr.responseURL.includes("返回token的url") ) {
                        var data = JSON.parse(xhr.response)
                        console.log('data2    :' + data.data.accessToken);
                        localStorage.setItem('API_TOKEN',data.data.accessToken)
                    }
                }
            });
        });
})();

看↓↓↓方格或搜索: 码猿趣事,回复关键字:monkey脚本持续更新中~

相关推荐
No0d1es8 分钟前
2025年 CSP-J1 入门级初赛 C++真题
开发语言·c++·青少年编程·csp·信息学奥赛·初赛
黄毛火烧雪下8 分钟前
React Native (RN)项目在web、Android和IOS上运行
android·前端·react native
fruge14 分钟前
前端正则表达式实战合集:表单验证与字符串处理高频场景
前端·正则表达式
Halo_tjn18 分钟前
基于 Object 类及包装类的专项实验
java·开发语言·计算机
baozj19 分钟前
🚀 手动改 500 个文件?不存在的!我用 AST 撸了个 Vue 国际化神器
前端·javascript·vue.js
拾忆,想起26 分钟前
超时重传 vs 快速重传:TCP双保险如何拯救网络丢包?
java·开发语言·网络·数据库·网络协议·tcp/ip·php
@老蝴26 分钟前
Java EE - 线程的状态
开发语言·java-ee·intellij-idea
用户40993225021227 分钟前
为什么Vue 3的计算属性能解决模板臃肿、性能优化和双向同步三大痛点?
前端·ai编程·trae
海云前端128 分钟前
Vue首屏加速秘籍 组件按需加载真能省一半时间
前端
蛋仔聊测试29 分钟前
Playwright 中route 方法模拟测试数据(Mocking)详解
前端·python·测试