日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python模拟登录吃鸡_Python高级爬虫开发,高难度JS解密教程,绝地求生模拟登陆!...

發布時間:2024/7/23 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python模拟登录吃鸡_Python高级爬虫开发,高难度JS解密教程,绝地求生模拟登陆!... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

這篇文章因為涉及到JS解密部分,所以難度比較高,Python基礎比較薄弱的同學可以來看看思路。

開始

進入到該網站后我們可以看到如下界面,今天要做的內容就是模擬登陸

那么咱們首先抓到登陸的包看看:

登陸的同時總共發送了兩次post請求,在登陸前發送了一次,其中需要攜帶的參數為用戶名,還有一個donotcache不難猜測出是一個時間戳,但是光靠猜不行,要拿出實際證明。

返回值:

success: true

publickey_mod: XXX

publickey_exp: '010001'

timestamp: '540205950000'

token_gid: '1c51cb6b00061f39'

這些值我們并不知道是用來做什么的,然后我們可以繼續看下登陸的包:

很明顯,第一眼就可以發現很多問題,cookie與第一次請求必須保持一致,然后第一次請求的返回值timestamp其實就是為了給第二次登陸的包傳參,rsatimestamp=timestamp,然后就是這個也有一個類似時間戳的東西donotcache,最關鍵的就是這個password是加密的!

咱們先解決donotcache是怎么產生的:

沒猜錯,new Date().getTime()本來就是JS取時間戳的語法,這個咱們用Python編程里的time模塊模擬就可了。

最關鍵的就是password加密的方式了:

這就有意思了var password = form.elements['password'].value;

password = password.replace(/[^\x00-\x7F]/g, ''); // remove non-standard-ASCII characters

var encryptedPassword = RSA.encrypt(password, pubKey);

密碼經過了兩次改動,第一次是替換掉字符串,第二次是RSA加密,而這個加密需要用的pubKey,而var pubKey = RSA.getPublicKey(results.publickey_mod, results.publickey_exp);

所以說我們還需要知道publickey_mod和publickey_exp,這個時候你再好好回想一下,咱們的第一次請求是不是返回值里正好有一個Mod和EXP?

總結

以上是生活随笔為你收集整理的python模拟登录吃鸡_Python高级爬虫开发,高难度JS解密教程,绝地求生模拟登陆!...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。