好友
阅读权限 40
听众
最后登录 1970-1-1
漁滒
发表于 2020-2-3 01:39
本帖最后由 aiai 于 2020-2-3 01:42 编辑
对于其中的一本书的首页:https://lib-nuanxin.wqxuetang.com/read/pdf/3208991
首先抓包得知,第一页的URL为https://lib-nuanxin.wqxuetang.com/page/img/3208991/1?k=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwIjoxLCJ0IjoxNTgwNjYzNDE1MDAwLCJiIjoiMzIwODk5MSIsInciOjEwMDAsImsiOiJ7XCJ1XCI6XCIzRHBmYjlGSmRsTT1cIixcImlcIjpcIkQ2ZWhxcjFzbTM5cDdDWk1XNEwzVVE9PVwiLFwidFwiOlwiN1pWa2xrZFE0V3diVDZqRTlGZlAwUT09XCIsXCJiXCI6XCJ5VzhOK0h5anR1TT1cIixcIm5cIjpcIkZRYXk3QzZjWklNPVwifSIsImlhdCI6MTU4MDY2MzQxNX0.HYdcK-npYjL6RH555IE-9PFh3nS_o_hFMb9yREgxFxw
3208991 bid 首页可以获取 1 page 页码 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwIjoxLCJ0IjoxNTgw
NjYzNDE1MDAwLCJiIjoiMzIwODk5MSIsInciOjEwMDAsImsiOiJ7
XCJ1XCI6XCIzRHBmYjlGSmRsTT1cIixcImlcIjpcIkQ2ZWhxcjFzbT
M5cDdDWk1XNEwzVVE9PVwiLFwidFwiOlwiN1pWa2xrZFE0V3d
iVDZqRTlGZlAwUT09XCIsXCJiXCI6XCJ5VzhOK0h5anR1TT1cIixcIm
5cIjpcIkZRYXk3QzZjWklNPVwifSIsImlhdCI6MTU4MDY2MzQxNX
0.HYdcK-npYjL6RH555IE-9PFh3nS_o_hFMb9yREgxFxw k 加密参数
主要分析的是其中的加密参数
加密参数使用的是JSON Web Tokens (JWT),参考文献: https://www.jianshu.com/p/d1644e281250
以小数点为准可以分为三部分
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 header base64编码,无加密 eyJwIjoxLCJ0IjoxNTgwNjYzNDE1MDAwLCJiIjoiMzIwODk5MSIsInc
iOjEwMDAsImsiOiJ7XCJ1XCI6XCIzRHBmYjlGSmRsTT1cIixcImlcIjpcIkQ2
ZWhxcjFzbTM5cDdDWk1XNEwzVVE9PVwiLFwidFwiOlwiN1pWa2xrZF
E0V3diVDZqRTlGZlAwUT09XCIsXCJiXCI6XCJ5VzhOK0h5anR1TT1cIixcI
m5cIjpcIkZRYXk3QzZjWklNPVwifSIsImlhdCI6MTU4MDY2MzQxNX0 payload base64编码,无加密 HYdcK-npYjL6RH555IE-9PFh3nS_o_hFMb9yREgxFxw sign 加密
一、 header
将headerbase64解码可以得到
[JavaScript] 纯文本查看 复制代码
1
{
"alg"
:
"HS256"
,
"typ"
:
"JWT"
}
其中所有都是定值
二、payload
将payloadbase64解码可以得到
[JavaScript] 纯文本查看 复制代码
1
{
"p"
:1,
"t"
:1580663415000,
"b"
:
"3208991"
,
"w"
:1000,
"k"
:
"{\"u\":\"3Dpfb9FJdlM=\",\"i\":\"D6ehqr1sm39p7CZMW4L3UQ==\",\"t\":\"7ZVklkdQ4WwbT6jE9FfP0Q==\",\"b\":\"yW8N+HyjtuM=\",\"n\":\"FQay7C6cZIM=\"}"
,
"iat"
:1580663415}
往上查看抓包结果可以知道
p 页码 数值 t 由Date.parse(new Date())获得 数值 b 由首页网址获得 字符串 w 定值 数值 k 由访问https://lib-nuanxin.wqxuetang.com/v1/read/k?bid=3208991获得 字符串 iat 由t去掉后面三个0获得 数值
三、sign
根基JWT参考文献可知,sign由上面两个参数加上Secret(密钥)通过HMACSHA256算法获得
其中的密钥可以在https://lib-nuanxin.wqxuetang.com/static/read/js/read.v5.3.1.722eb.js中获得
[Python] 纯文本查看 复制代码
1
jwtSecret
=
"g0NnWdSE8qEjdMD8a1aq12qEYphwErKctvfd3IktWHWiOBpVsgkecur38aBRPn2w"
然后使用相同的方法构造其他页码的地址,却无法访问?
请问是哪一部出现了问题,如何才能获取所有页码的地址,感谢
免费评分
查看全部评分