因需要获取一个列表信息,在获取get请求时发现有一个变量是基于时间戳的AES加密校验,于是尝试使用python生成对应字段。在过程中碰到了需要逆向获取key和iv的情况,将步骤记录如下:
js进行debug,获取到key和iv的数组,类似如下值:
data = { "words": [ 1718046801, 1383561337, 1349996625, 1380008567 ], "sigBytes": 16 }
# 将 "words" 数组转化为字节序列 byte_sequence = b''.join(struct.pack('>I', num) for num in data["words"]) # 截取实际有效字节数 byte_sequence = byte_sequence[:data["sigBytes"]] # 将字节序列转化为字符串 result_string = byte_sequence.decode('utf-8') # 打印还原的字符串 print(result_string)
即可获得原始的字符串