美团token解决思路
?美團(tuán)官網(wǎng)美食區(qū)token:
_token=eJxVjs1ygjAURt8lWxhJUBJ0h4U2UBVBxEqnC4gIlAERiD90+u5NZ+yidzLzfTn3LO4XaO0DmCEIpxDK4JK2YAbQCI4wkEHfiY02wQSLQRoRAvvPMB7LIGlDE8ze0RhhGWn6xy/xBRAEY5lgQR5VFVWdiPfr2EIBed83M0W5xaMqLXoe1yN2qhTRu7xQEoSmirgDCL0KhC6yfGT8yP7vvxSHC7crslq01LkePlm/mpuW59N1lE0UVV0v9JLejBQ6Mdu4xlspDfFApfMKpZ6XWddmuy2M2FmaJqvLJpx6mvFkSAkcn0KaZ8TsbHqsuVW4pJ5IF6Ij1NmbXblXsUO0qjlAj9OX1/ZG7jm8OwG3A+gvOFk2jDShNvezgdlWdTxJDWvhy4HDnWM0qRJ4tFD4GVbbIMoifbj5WnB+0uuLS1O+iwoHtc9HNWz3b26wY0m4WJHsk8bpgPn4dR2e/GG9jxJnc4eWmyMJXreFD75/AB/OjFY=
? ? ? ?1:結(jié)尾出現(xiàn)=,考慮base64編碼,通過(guò)python base64解碼后得到以下byte數(shù)據(jù)
? ? ? ?正常情況下 base64.b64decode()解碼后是正常字符串,這里出現(xiàn)十六進(jìn)制的ASCii碼。
? ? ? 2:考慮原數(shù)據(jù)可能進(jìn)行二進(jìn)制壓縮+編碼,使用python zlib庫(kù)對(duì)byte數(shù)據(jù)進(jìn)行解壓,代碼如下
import base64,zlib token_decode=base64.b64decode(token.encode()) //token為token字符串#解壓16進(jìn)制數(shù)據(jù)流 token_string=zlib.compress(token_decode)? ? ? 3:解壓過(guò)后會(huì)得到如下參數(shù)
? ? ? ?"rId","ver","ts",'cts','brVD','brR','bI','mT','kT,'aT','tT','aM','sign'
? ? ? 刷新頁(yè)面捕獲js請(qǐng)求,找到token的js生成函數(shù)得到j(luò)s生成token代碼? ??部分代碼可能需要反混淆得到源代碼.
? ? ? 除了ts+cts(cts=ts+100即可)參數(shù)需要本地構(gòu)造,其他參數(shù)通過(guò)分析和找到每個(gè)參數(shù)的生成函數(shù)即可明白參數(shù)意義, 上圖沒(méi)有sign參數(shù),將token解碼+解壓過(guò)后會(huì)看到參數(shù)sign(參數(shù)sign同樣經(jīng)過(guò)壓縮+base64編碼,用上面的解碼函數(shù)能看到sign參數(shù),sign參數(shù)基本都是一些get提交的參數(shù),都可以在頁(yè)面源碼找到)
? ? ? ?比較重要的參數(shù)為ts,ts代表一個(gè)時(shí)間戳,利用python構(gòu)造1970年--現(xiàn)在的秒數(shù)差生成時(shí)間戳,(每一個(gè)token都有一個(gè)時(shí)效性,因此在token失效的時(shí)候需要偽造一個(gè)token才能獲取到ajax返回的json數(shù)據(jù))
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的美团token解决思路的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 微信小程序反编译wxss文件缺失_反编译
- 下一篇: YOLOv5中autoanchor.py