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

盐城网站开发代理网络上如何推广网站

盐城网站开发代理,网络上如何推广网站,海外医疗网站建设,用外服务器做网站概述:本文将用于了解爬虫中localStorage的检测原理以及讲述一个用于检测localStorage的反爬虫案例,最后对该参数进行Hook断点定位 目录: 一、LocalStorage 二、爬虫中localStorage的案例(以某盾滑块为例) 三、如何…

概述:本文将用于了解爬虫中localStorage的检测原理以及讲述一个用于检测localStorage的反爬虫案例,最后对该参数进行Hook断点定位

目录:

一、LocalStorage

二、爬虫中localStorage的案例(以某盾滑块为例)

三、如何破解?(Hook如何断点定位到localStorage)


目标网站-某盾滑块链接:aHR0cHM6Ly9kdW4uMTYzLmNvbS90cmlhbC9qaWdzYXc=

一、LocalStorage

LocalStorage 是一种 web 端的存储机制,主要用于在本地上存储一些用户的信息

从反爬的角度上看,在一些网站中,他会将一些指纹数据(如设备信息,版本号,鼠标,用户行为等等)存储在LocalStorage中用于反爬的计算,通过分析这些参数是否异常来判断是否为爬虫。

LocalStorage的特性:
1、localStorage可以将请求的数据直接存储到本地,这个相当于一个5M大小的前端页面数据库,相比于cookie可以节约带宽。
2、目前所有的浏览器中都会把localStorage的值类型限定为string类型,要使用JSON对象类型则需要一些转换。
3、localStorage在浏览器的隐私模式下面是不可读取的。
4、localStorage不能被爬虫抓取到。

也是由于最后一个特性,在爬虫中会被经常用于指纹的验证

二、爬虫中localStorage的案例(以某盾滑块为例)

在某盾网站中的 xxxxxxxxNjc50Q==:c 便是藏在了 LocalStorage 的参数里面,而这个Njc50Q==:c是其指纹校验的一个重要生成的参数

三、如何破解?(Hook如何断点定位到localStorage)

下面我们将Hook定位到这个参数的位置

在Hook之前,首先要了解这个参数的赋值原理:

要在 web 应用中使用 localStorage,首先要熟悉它提供的属性和方法:

length:返回 localStorage 中的键值对的数目

setItem():增加一个键值对到 localStorage 中

getItem():从 localStorage 中查询指定 key 的值

removeItem():从 localStorage 中删除指定的键值对

clear():清空 localStorage 中所有键值对

key(): 传入一个数字 n,用于返回指定第 n 个键的名字

根据localStorage在赋值时需要使用到.setItem方法这个特性

使用Hook来改写setItem方法定位到 key(即arguments[0]) 的最后一位数为 ":d" 的赋值位置

let s = Storage.prototype.setItemStorage.prototype.setItem = function() {if (arguments[0].endsWith(':d')) {debugger}return s.apply(this, arguments)
}

在浏览器的控制台中实验一下:

当出现localStorage.setItem('xxxxxxxxxxx:d','2') 赋值2时,会进行断点:

由于每次刷新,控制台中的Hook都会被刷新掉,此时需要借用 油猴 来写一个Hook脚本

油猴网址:https://www.tampermonkey.net/

某盾滑块网站:aHR0cHM6Ly9kdW4uMTYzLmNvbS90cmlhbC9qaWdzYXc=

在油猴上编写脚本,保存并启动

注意:@match 为此脚本针对的目标网站接口,这个不能随意改动!!

// ==UserScript==
// @name         yidun
// @namespace    http://tampermonkey.net/
// @version      2023-12-27
// @description  try to take over the world!
// @author       You
// @match        https://dun.163.com/trial/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        none
// ==/UserScript==(function() {'use strict';let s = Storage.prototype.setItemStorage.prototype.setItem = function() {if (arguments[0].endsWith(':d')) {debugger}return s.apply(this, arguments)}
})();

保存之后记得点击启动即可,接着打开某盾滑块的链接

打开控制台调试一下确认是否能Hook到,还是输入localStorage.setItem('xxxxxxxxxxx:d','2')来测试一下:


此时这里能被断住说明是正常,先在控制台输入localStorage输出一下

发现是值是已经生成好了,我们目标是还原他生成的过程,因为我们要先将localStorage清空,输入 : localStorage.clear() 

在清空之后刷新一下该网站,发现已经成功被断住,剩下的就是如何扣代码的问题了

http://www.yidumall.com/news/30471.html

相关文章:

  • 安徽东皖建设集团有限公司网站最近的疫情情况最新消息
  • 保定网站seo哪家公司好最常见企业网站公司有哪些
  • 如何建开发手机网站首页怎样才能被百度秒收录
  • 网站开发项目交接网站权重划分
  • 建网站怎样往网站传视频如何在百度上营销
  • 看过的网站做记号搜索引擎seo优化
  • 用什么网站做一手楼好本地推广平台
  • 专门做餐饮ppt的网站南京网络推广公司排名
  • 做色流网站在哪买网络营销专业就业公司
  • 旅游网站排行榜前20百度精准推广
  • 网站如何做搜索引擎网络推广的方式和途径有哪些
  • 常州模板网站建设价位易搜搜索引擎
  • 邯郸做移动网站费用湖北seo推广
  • 可靠的盐城网站推广网络销售适合什么人做
  • 网站开发分前台后台怎样制作网页
  • 郑州网站建设及优化关键词优化报价怎么样
  • 网站开发 改进杭州优化关键词
  • 网站备案 通知seo关键词有哪些类型
  • 广州天河区做网站的公司网络营销策划方案范文
  • 网站建设需要用到什么企业网站优化服务公司
  • 做网站成功的企业网店搜索引擎优化的方法
  • 网站开发api和微端推广公司好做吗
  • 关于企业网站建设的提案北京正规seo搜索引擎优化价格
  • 网站开发形式电商平台推广方式有哪些
  • 白云做网站正规软件开发培训学校
  • 网站的动态新闻数据库怎么做广州市最新消息
  • app 制作公司凌云seo博客
  • 商城网站实例东莞网站设计公司
  • 网站建设中间件收费小红书搜索关键词排名
  • 网站设计的七个原则手机营销软件