1.抓包看参数
headers = {
"token": "",
"tmtimestamp": "1723700274018",
"tmencryptkey": "ea96e44e5e12d004dc654f974ee49fed",
"tmencrypt": "1",
"tmrandomnum": "d0jslld8stqr90ky",
"Host": "某某.com",
"User-Agent": "okhttp/3.12.13"
}
tmencryptkey 、 tmrandomnum 需要破解
2.tmencryptkey 逆向
当我使用加密嗅探工具得出
# 签名数据(文本):NjY1NzJkOWVmNTkzOTAzMDQxY2I1Mzg4NmE4MmUzNTdkMGpzbGxkOHN0cXI5MGt5 d0jslld8stqr90ky
# 签名数据(Base64):TmpZMU56SmtPV1ZtTlRrek9UQXpNRFF4WTJJMU16ZzRObUU0TW1Vek5UZGtNR3B6Ykd4a09ITjBjWEk1TUd0NWQwanNsbGQ4c3Rxcjkwa3k=
# 签名数据(Hex):4e6a59314e7a4a6b4f57566d4e546b7a4f54417a4d445178593249314d7a67344e6d45344d6d557a4e54646b4d47707a6247786b4f484e30635849354d47743564306a736c6c64387374717239306b79
#
# 签名结果(Hex):ea96e44e5e12d004dc654f974ee49fed
# 签名结果(Base64):6pbkTl4S0ATcZU+XTuSf7Q==
#
# # ----
# 签名数据(文本):1723700274018
# 签名数据(Base64):MTcyMzcwMDI3NDAxOA==
# 签名数据(Hex):31373233373030323734303138
#
# 签名结果(Hex):66572d9ef5939030 41cb53886a82e357
# 签名结果(Base64):ZlctnvWTkDBBy1OIaoLjVw==
我发现加密前的源值 除了使用了tmrandomnum值,前边一大截我都不知道在哪里?
当我搜索时间戳值的时候,发现它被md5做了一次加密,这个肯定不是随便做着玩的。
md5(tmtimestamp)------->66572d9ef593903041cb53886a82e357
加密嗅探工具 只能嗅探到标准加密 字符串操作的比如转码是无法嗅探道到的
发挥我的联想 NjY1NzJkOWVmNTkzOTAzMDQxY2I1Mzg4....这段东西好像base64啊,给他解base64发现为“66572d9ef593903041cb53886a82e357d0jslld8stqr90ky”,刚好就是时间戳被做md5后的值在加上一个tmrandomnum值
总结思路:
tmencryptkey = tobase64(md5(tmtimestamp) + tmrandomnum) + tmrandomnum