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

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

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

    • 前因后果
    • 脚本编写

前因后果

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

脚本编写

// ==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 //获取请求能力权限

关键代码:

(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脚本持续更新中~

在这里插入图片描述


http://www.kler.cn/a/401119.html

相关文章:

  • Jmeter进阶篇(26)杀掉Tomcat的几种方法
  • 国产三维CAD 2025新动向:推进MBD模式,联通企业设计-制造数据
  • 【数据结构】七种常用排序总结
  • 阿里云ElasticSearch跨集群备份恢复实践
  • Cloud Native 云原生后端的开发注意事项
  • Vue3.5正式上线,父传子props用法更丝滑简洁
  • Redis 性能优化 18招
  • 每日学习记录003:(C++)unique_ptr和shared_ptr
  • ftrack 24.10全面升级:Autodesk Flame集成与多项新功能性能改进将发布
  • spring boot启动停止重启脚本
  • 视觉SLAM--经典视觉SLAM框架
  • MySQL数据库-SQLyoung的使用
  • 【金融风控项目-07】:业务规则挖掘案例
  • 播放器开发之ffmpeg 硬件解码方案
  • 【一文了解】C#基础-数组
  • leetcode 面试150 之随机链表的复制
  • Oracle 19c修改pga报ORA-00093、ORA-01078错进行分析处理
  • 美国人工智能国家安全备忘录核心解读(上)
  • DimensionX:单图生成任意的3d/4d视图
  • 3. 用Ruby on Rails创建一个在线商城