來吧騷年,每天花5分鍾鍛煉一下自己的JS調試也是極好的,對后期調試滑塊驗證碼還原、拖動很有幫助,堅持下去,我們能贏。建議親自試試哦,如果對大家有幫助的話不妨關注一下知識圖譜與大數據公眾號,當然不關注也無所謂,有問題隨時私信。完整JS代碼參考
從今天開始種樹-同程MD5
從今天開始種樹-驢媽媽MD5
從今天開始種樹-途牛MD5
從今天開始種樹-搜狐視頻MD5
開始
本次涉及同程旅游、驢媽媽、途牛、還有“買三送一”的搜狐,方法重復性雖高但並不阻礙大家親自嘗試哦。
同程旅游
打開同程旅游登錄界面:
輸入錯誤的賬號密碼,找到請求url:

查看formdata,發現pass(即密碼)被加密了:

選擇調用棧進去:

在文件中搜索pass:

MD5赫然映入眼簾,那就打上斷點,然后跳到這個MD5里看看,最先跳到這里:

往下一拉發現JS代碼就區區一百行:

摳出來即可運行。
同程運行結果
import execjs
#url = https://passport.ly.com/
with open('..//js//tongcheng.js', encoding='utf-8') as f:
tongcheng = f.read()
js = execjs.compile(tongcheng)
logid = js.call('get_pwd', "QWERTY123456")
print(logid)

一模一樣。
驢媽媽

這么快就結束了很不爽,繼續打開一個驢媽媽,套路與上面一樣:

輸入賬號密碼后找到url,查看formdata:

這么短的加密方式一般就是MD5,通過調用棧進入文件,搜索password,找到入口,函數名直接了當nd5(pw):

打上斷點進入md5函數:

上下拉一下代碼發現也就百十行,摳出來。
驢媽媽運行
import execjs
#url = https://login.lvmama.com/nsso/login
with open('..//js//lvmama.js', encoding='utf-8') as f:
lvmama = f.read()
js = execjs.compile(lvmama)
logid = js.call('get_pwd', "qwer")
print(logid)

途牛
還貼圖么?貼吧
登錄

查看formdata:

一看發現依然MD5加密。
調用棧進入
函數名倒是變化了一下。整上斷點,進入md5函數里

同拉,發現也是100多行。
途牛運行結果
閉着眼睛扣完使用python調用。
import execjs
#url = https://passport.tuniu.com/
with open('..//js//tuniu.js', encoding='utf-8') as f:
tuniu = f.read()
js = execjs.compile(tuniu)
logid = js.call('get_pwd', "qwert1234")
print(logid)

買三送一:搜狐視頻
隨便點擊發現搜狐視頻也是MD5加密,看一看formdata:

調用棧進去,搜索關鍵字,打上斷點,一氣呵成:

進入md5函數,同樣100多行:

換湯不換葯,直接摳出來運行。
搜狐視頻運行結果
import execjs
#url = https://tv.sohu.com/
with open('..//js//souhu.js', encoding='utf-8') as f:
souhu = f.read()
js = execjs.compile(souhu)
logid = js.call('get_pwd', "qwer1234")
print(logid)

完全一致,有內味了。
結束
一口氣把途牛、同程、驢媽媽、搜狐拎出來了,都很簡單,建議親自試試哦,如果對大家有幫助的話不妨關注一下知識圖譜與大數據公眾號,當然不關注也無所謂,有問題隨時私信。


