Python js反爬知识点汇总

一、F12调试

在这里插入图片描述

调试 :F12 或者 鼠标右键检查快捷键(Ctrl+Shift+i)
Element:
  copy 复制
  force state 状态
  break on 断点
  Evernt Listeners 事件监听
  DOM Breakpoints 自己下的断点
Network:
  Ctrl + F 打开搜索
  小红点亮起 正在抓包
  Preserver log 是否清除历史记录
  Disable cache 是否禁止缓存
  initiator 一条http请求发起人有一下几种:浏览器发起的
                    自己发起的:自己构造的http、send
  端口号是443:是https请求
  异常捕获: Pause on caught exceptions
  断点:Edit breakpoint 编辑断点
  Watch 全局变量监听
  设置:Preserve log 是否清除缓存
     Selected cotext only 只选择当前页面上下文
     Group similar 分组
     Log XMLHttpRequests 是否打印XHR请求
Application:Clear storage 清除当前所有的缓存

二、js攻防基础

在这里插入图片描述

js攻防基础
明确目标
能对网站js进行调试
能修改js运行当中的一些值 能输出
能下断点
更智能的监听一些值

网站的代码运行时间轴:
加载html 加载js -运行js初始化 -用户触发了某个事件-调用了某段js -明文数据-加密参数-加密数据-给服务器发信息(XHR-send) -接受到服务器数据 - 解密函数 -刷新网页渲染

断点分类
    什么是断点
        DOM断点
            当样子/属性发生改变才会断住
            执行比较靠前  距离加密函数比较远  我们无法根据栈去快速定位
            定位比较准
        DOM事件断点
            如果dom断点不能下断  就可以用DOM事件 和DOM断点特性一致
        xhr断点
            执行比较靠后  距离加密函数相对比较近  可以根据栈快速定位
            非XHR 发送的就断不住
        代码行断点
        代码的断点   debugger;
        全局事件断点  浏览器的事件断点
            Soutces 中 Event Listener Breakpoints
        异常捕获断点
            处理try  跟环境
            勾选 Pause on caught exceptions
    方法栈
        Call Stack
        栈 先进后出 所以栈中下面的就是调用这个方法的
巧妙的下断
    短板效应  木桶效应
跟值技巧

    注意的值:Encrypt、data、key、rsa、des
    Ctrl  智能提示
        向上 到没有智能提示的地方  就是这个方法的开始
    想要的数据
        没有的话 找调用这个方法的函数 
            _proto_
                open  中下个断点
        加密数据 去找怎么生成的
            找的明文数据

三、常见加密分类

在这里插入图片描述

四、常见混淆

在这里插入图片描述

五、伪装基本功

在这里插入图片描述

浏览器软件的组成
显示区域 渲染 DOM
所有浏览器相同的一些功能: BOM 输入网址 刷新 上一个页面下一个页面
执行js脚本 javaScript :文本处理 正则
不同浏览器会实现自己相应的属性 BOM

DOM(渲染引擎) BOM JS引擎  = 浏览器

DOM:
    Html:hxml超集 - xml变种
    1.html 增删改查api
    2.html 数据格式
    3.渲染 Canvas

BOM:
    1.浏览器自己实现的一些类 location navigator 
    2.open ssl:btoa、AES、BES、MD5

JS引擎(解释器):ECMA-协议版本号:es5 es6  js解释性语言(官方没有解释器) 
    谷歌的v8、微软查克拉、ffg guickjs
    JSON 

HTTPS:
The connection to this site is encrypted and authenticated using TLS 1.2, ECDHE_RSA with P-384, and AES_256_GCM.

DOM BOM 都是js对象
所以js引擎都有一个功能:可以给js添加任意对象 删除任意对象,关联本地的代码

浏览器去实现的对象 默认添加一个特性:只读属性

伪造环境的用处
为什么要去伪造环境:因为js引擎没办法运行
不想去改变他的源代码js

js逆向最终的结果:
想要的效果:支持多线程、爬取速度快
扣取js :删除环境的一些代码
伪造环境 :伪造环境代码

简单的网站:扣取就可以了
复杂的网站:伪造环境

我就是浏览器
1.要伪造什么
1.全部伪造 python-jsdom(被检测)nodejs(被检测)
2.给指定的网站 伪造
如何知道这个网站检测了什么–通过调试、全局异常捕获、本地环境运行看报错
2.如何伪造

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值