【学习心得】爬虫逆向的小技巧小知识(持续更新)

(一)小知识

  • windows.onload = function () {doit()} 当页面加载完成后立即执行doit函数
  • BrowserType() 用来获取浏览器的一系列参数
  • constructor 是类的特殊方法,当new一个类的新实例时该方法被调用
  • window.btoa(string) 将一个ASCII字符串变成Base64编码的字符串
  • 对称加密只有一个key,加解密都用它;非对称加密有两个key,你要发给谁,就用谁的公钥加密,拿到数据的人用自己的私钥解密
  • 要知道自执行函数常见的几种样子

(二)小技巧

  • F12禁用时,有点击右上角的三个点,找到开发者工具打开它;还可以用独立窗口打开开发者工具
  • 若JS中的某种加密(例如MD5)可以在自己的NodeJS上导入库来实现,这样就不用逆向太多东西
  • 上面的技巧中怎么判断是否“可以”?将密文输入到在线MD5加密工具中试一下,看看返回结果和断点处的是否一样
  • 加密一般是请求参数加密,参数又可以分为cookie中的参数,URL中的查询参数
  • 解密一般对响应加密的数据
  • 逆向的时候,应该断点跟着代码走,意思是先在代码中推理出了要下断点的位置,再去打断点,跳到下个断点处调试
  • 如果在发起程序的堆栈中有异步调用,就不好用XHR断点来调试
  • JS代码中如果有if判断条件,若if一定会执行(比如里面有加解密函数),那么我们可以直接去掉if
  • 在webpack逆向中,在加密处打断点才能找到function的call;对.call(this,n(11))下断点后要重新加载整个文档而不单单是接口,这样才能找到webpack加载器,控制台输入n点击一下输出就可以找到加载器的入口
  • 看cookie中有没有cookie参数时,httponly是肯定不会有加密的,因为是从服务器返回的
  • 源代码HTML中的密文,可以试试用id="xxx"里的xxx值进行全局搜索寻找解密入口
  • 如果加密的key不会随着URL变化而不同,那么我们就可以不用逆向,直接复制下来
  • 用constructor构造函数和递归实现无限调用自身的方式制造无限debugger,破解的方法是找到该函数定义但未执行的时机下断点,然后置空函数
  • 有时候无限debugger的构造函数代码被卸载了七八个JS文件中,要耐心的一个个置空

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

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

相关文章

Linux系统编程(六)高级IO

目录 1. 阻塞和非阻塞 IO 2. IO 多路转接(select、poll、epoll) 3. 存储映射 IO(mmap) 4. 文件锁(fcntl、lockf、flock) 5. 管道实例 - 池类算法 1. 阻塞和非阻塞 IO 阻塞 IO:会等待操作的…

猫咪挑食怎么办?预防猫咪挑食的生骨肉冻干分享

在现今社会,养猫的人越来越多,大家都把自家的小猫当作宝贝来宠爱。然而,这种宠爱有时也会导致猫咪养成挑食的不良习惯。那么,猫咪挑食怎么办呢? 今天,我要分享一个既能确保猫咪不受苦,又能有效…

嵌入式学习第二十六天!(网络传输:TCP编程)

TCP通信: 1. TCP发端: socket -> connect -> send -> recv -> close 2. TCP收端: socket -> bind -> listen -> accept -> recv -> send -> close 3. TCP需要用到的函数: 1. co…

MySQL--索引底层数据结构详解

索引是什么? 索引是帮助MySQL高效获取数据的排好序的数据结构,因此可知索引是数据结构。 概念很抽象,但是类比生活中的例子就很容易理解,比如一本厚厚的书,我们想取找某一小节,我们可以根据目录去快速找到…

【Linux-文件管理】

Linux-文件管理 ■ mkdir(创建文件夹)■ rmdir(删除目录)■ touch(文件创建)■ rm(删除文件或文件夹)■ cp(复制)■ mv(剪切)■ tail■…

Python实现快速排序算法

Python实现快速排序算法 下面是使用 Python 实现的快速排序算法的示例代码&#xff1a; def quick_sort(arr):if len(arr) < 1:return arrelse:pivot arr[0]less_than_pivot [x for x in arr[1:] if x < pivot]greater_than_pivot [x for x in arr[1:] if x > pi…

Spring Boot中Excel数据导入导出的高效实现

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

基于SpringBoot+MYSQL的大学生租房平台

目录 1、 前言介绍 2、主要技术 3、系统流程 3.1、操作流程 3.2、登录流程 3.3、删除信息流程 3.4、添加信息流程 4、功能需求 5、系统设计 5.1、功能结构设计 5.1、数据库概念设计 6、运行截图(部分) 6.1、管理员功能实现 6.1.1、房东管理 6.1.2、信息审批管理 …

Springboot启动后想要做某些事可以通过什么方法实现?

在Spring Boot应用中&#xff0c;如果你想在应用启动完成后执行一些特定的操作&#xff08;例如缓存预热&#xff09;&#xff0c;可以实现CommandLineRunner或ApplicationRunner接口。这两个接口都提供了一个run方法&#xff0c;在Spring Boot应用上下文初始化完成后会被自动调…

Redis 配置文件详解

Units 单位 配置大小单位&#xff0c;开头定义了一些基本的度量单位&#xff0c;只支持bytes&#xff0c;不支持bit&#xff0c;大小写不敏感。 # Redis configuration file example. # # Note that in order to read the configuration file, Redis must be # started with …

java实现文件下载(前端传文件后端以流的方式进行输出)

其实文件的下载在前面的博客当中已经提到过了&#xff0c;但是本次单出一片博客的目的主要还是想把流程给理清楚&#xff0c;授人以鱼不如授人以渔对吧。 想要看文件上传的请跳转到前面一篇博文&#xff1a; java实现文件上传到本地 那接下来我们来看看具体的实现步骤吧~ 一…

聚观早报 | 腾讯QQ测试AI对话功能;哪吒L官宣4月交付

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 3月8日消息 腾讯QQ测试AI对话功能 哪吒L官宣4月交付 中国对瑞士等6国试行免签 Redmi K70至尊版细节曝光 Meta正…

IDEA自定义Maven仓库

Maven 是一款广泛应用于 Java 开发的工具&#xff0c;其作用类似于一个全自动的 JAR 包管理器&#xff0c;能够方便地导入开发所需的相关 JAR 包。在使用 Maven 进行 Java 程序开发时&#xff0c;开发者能够极大地提高开发效率。以下是关于如何安装 Maven 以及在 IDEA 中配置自…

【数据结构】二、线性表:1.顺序表的插入、删除、查找、特点

文章目录 1.3插入1.4删除1.5查找1.5.1按位查找1.5.2按值查找 1.6特点 1.3插入 把新的数据插入的目标位置之后&#xff0c;把目标位置后面的数据依次向后进行移动。 bool ListInsert(SqList &L,int i,int e){if(i<1||i>L.length1) //判断i的范围是否有效return fals…

Linux软件高级编程-网络--TCP通信--day13

TCP发端: socket connect send recv close TCP收端: socket bind listen accept send recv close 1.connect int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 功能: …

使用 CSS 的 line-height 属性来提高可读性

在本文中&#xff0c;您将了解 CSS line-height 属性以及如何使用它来创建视觉上愉悦、易读的文本。 您可能以前见过 line-height 的使用&#xff1a; p {font-size: 16px;line-height: 1.2; }但它是如何工作的&#xff0c;以及在 CSS 中扮演着什么角色呢&#xff1f; CSS 中…

基于LSTM实现春联上联对下联

按照阿光的项目做出了学习笔记&#xff0c;pytorch深度学习实战项目100例 基于LSTM实现春联上联对下联 基于LSTM&#xff08;长短期记忆网络&#xff09;实现春联上联对下联是一种有趣且具有挑战性的任务&#xff0c;它涉及到自然语言处理&#xff08;NLP&#xff09;中的序列…

Android 4.4 以下,OkHttp访问Https报错,设置了sslSocketFactory仍无效的解决方法

背景 Android 4.4 及以下&#xff0c;使用 OkHttp 发送 Https 请求&#xff0c;报以下错误&#xff1a; javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl0x6b712c90: Failure in SSL library, usually a protocol erro…

【Jemter】安装

1.准备前提工作 2.安装和卸载jdk 1&#xff09;安装双击jdk 2&#xff09;添加环境变量 此电脑–属性–高级系统设置–环境变量–系统变量–path删除/新建 C:\Program Files\Java\jdk-1.8\bin C:\Program Files\Java\jdk-1.8\jre 3&#xff09;验证 以防万一要卸载&#xff…

基于yolov5的铁轨缺陷检测系统,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】

功能演示&#xff1a; 基于yolov5的铁轨缺陷检测系统&#xff0c;系统既能够实现图像检测&#xff0c;也可以进行视屏和摄像实时检测_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于yolov5的铁轨缺陷检测系统是在pytorch框架下实现的&#xff0c;这是一个完整的项目…