某网站小说CSS反爬实战分析

2023-09-14 14:54:21

由于是刚开始编写js逆向类型的文章,难免会有不详细之处,敬请谅解

本次的目标是hongshu网的小说接口,我们进入官网随意找到一篇小说后,打开网络请求,分析接口
在这里插入图片描述
如图,可以看到有个bookajax.do 的接口让人值得怀疑,而且有三个接口,初步判断可能是接口之间进行互相调用,我们先打开接口查看一下数据
在这里插入图片描述
在第二个接口中看到如下数据,其中有一个字段content 是一个非常长的加密数据,有可能就是小说文章,这样一来,大概率就是前端加密了,我们首先跟栈进去看一下流程

在这里插入图片描述
首先在接口附近,找到了其他接口调用该接口的地方,先传入getchptkey这个方法调用成功后,再传入getchpcontent这个方法调用,这证实了之前我们的猜测
在这里插入图片描述
在往下跟,发现了有一个连续三次解密的地方,解密的参数刚好是data.content, 后面的参数key是第一个接口中获得的,然后我们在这里打上断点,我们将这段解密直接在控制台输出,得到一大段html标签+中文的组合,然后,查看一下解密方法
在这里插入图片描述
方法也很简单,直接将方法扣出来就行了,到此,第一层加密算是破解了,接着,来看第二层加密,也就是那些html标签,我们接着看一下流程下面的步骤
在这里插入图片描述
在下面,我们发现还对data.other 进行了一次解密,这里解密不再多说,与data.content 解密流程是差不多的,我们把解密出来后的data.other 打上断点后再控制台输出一下,发现是一大串js代码,接着根据下文分析,网页又调用了一个异步的js方法,这个js正是这个大串的js代码,这段js执行完成后,网页正常显示,所以我们怀疑,这段js就是前段解密的所在,我们将这段代码复制下来之后,用nodejs运行后发现缺少document环境,我们将环境补齐后,运行一切正常,这时分析了一下这段代码
在这里插入图片描述
代码的最后,正是还原网页文字的部分,将words这个变量依次替换成对应的标签,我们将words输出一下

在这里插入图片描述
这样一来,基本就真相大白了,我们将代码组合一下

在这里插入图片描述
成功抓取显示原文!

更多推荐

MySQL 自动根据年份动态创建范围分区

前言要在MySQL中按年对日期进行分区,可以使用自动递增存储过程的方式实现动态分区,它并没有像Oracle里面的**INTERVAL(numtoyminterval(1,‘year’))**方法。创建动态分区1.创建一个包含所有分区的表,并使用InnoDB存储引擎。例如,创建一个名为mytable的表。CREATETA

51单片机 LCD1602

LCD1602.H#ifndef__LCD1602_H__#define__LCD1602_H__//用户调用函数:voidLCD_Init();voidLCD_ShowChar(unsignedcharLine,unsignedcharColumn,charChar);voidLCD_ShowString(unsig

Python常用做题笔记

1列表/队列/堆栈构建列表:[]声明列表比list()方法效率高声明队列和堆栈:法1:使用[]/list()方法模拟法2:使用collections.deque双端队列:模拟队列append\popleft模拟堆栈append\popcollections.deque():声明双端队列,初始化传入可迭代对象就行,例如列

AI-Toolbox

集合你需要的所有AI工具。(GatheralltheAItoolsyouneed.)1.AI绘画工具(AIdrawingtool)Midjourney:目前最强的AI绘画工具。StableDiffusion:最强开源AI绘画工具。Civital:AI艺术共享平台。HuggingFace:开源SD模型下载。VEGA:国内

统计报告期节能率

声明本文是学习GB-T29314-2023电动机系统节能改造规范.而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们7综合评估7.1一般规定7.1.1电动机系统节能改造后,应对设备运行效果进行评估,改造后系统的生产效率和系统分界点指标应达到改造设计要求。7.1.2电动机系统改造后,应对与改造设备相关的

苏宁易购商品详情数据接口

苏宁易购商品详情数据接口采集方法如下:下载安装载图助手软件并打开苏宁易购平台,找到需要采集的商品类目。点击一个商品进入详情页,启用软件的批量下载功能并打开“自动粘贴网址”。复制商品上方的链接,链接会自动传送到首页的地址栏里。全部复制完成后,在选项中把“下载主图”、“同时下载视频”、“下载详情图”三项打勾。单击“立即下载

中移链交易模块介绍

中移链交易模块是中移链区块链系统的核心模块之一。它的主要作用是处理用户发起的交易请求,并将其打包成区块添加到区块链上。交易模块接收来自不同合约执行的指令,比如创建账号、转账、部署和执行智能合约等指令,并确保所有交易都是有效且合法的。与其他模块相比,交易模块的工作量较大,每秒需要高效地处理上千个交易请求。01交易的组件构

vision transformer

一、网络构建importtorchfromtorchimportnnfromfunctoolsimportpartial#---------------------------------------##(1)patchembedding'''img_size=224:输入图像的宽高patch_size=16:每个pa

Matlab--高等应用数学问题的MATLAB求解

1.求解n阶导数%%%如何求解n阶导数,用到diff(f,n)symsx;f=sin(x)/(x^2+4*x+3);diff(f,4)%%%如何求解100阶导数tic,F=diff(f,100);toc2.Matlab语言的优越性%%%MATLAB的优点:%MATLAB语言的简洁高效性%MATLAB语言的科学运算功能%

揭秘多数据模型与数据联动如何重塑企业数据处理和决策过程

在数字化时代,数据已经成为企业竞争的核心资源。为了更好地利用数据,许多企业开始采用低代码的多数据模型和数据联动。这些技术和方法可以用于运用多种数据模型来对用户进行分类;可以利用数据联动来提高推荐的准确性和效率,帮助企业更快速、更高效地构建数据驱动的应用程序,从而提升业务效率和竞争力。业务需求说明:1、配置固定资产领用单

Nat. Rev. Bioeng. | 中山大学左涛组详述肠道微生态工程化改造

肠道微生态工程化改造EngineeringthegutmicrobiomeReviewArticle,2023-6-16,NatureReviewsBioengineeringDOI:10.1038/s44222-023-00072-2原文链接:https://www.nature.com/articles/s4422

热文推荐