1. 程式人生 > >每日爬蟲JS小逆之5分鐘旅遊網MD5一鍋端

每日爬蟲JS小逆之5分鐘旅遊網MD5一鍋端

> 來吧騷年,每天花5分鐘鍛鍊一下自己的JS除錯也是極好的,對後期除錯滑塊驗證碼還原、拖動很有幫助,堅持下去,我們能贏。建議親自試試哦,如果對大家有幫助的話不妨關注一下**知識圖譜與大資料**公眾號,當然不關注也無所謂,有問題隨時私信。完整JS程式碼參考 > [從今天開始種樹-同程MD5](http://www.happyhong.cn/download/tongcheng.html) > [從今天開始種樹-驢媽媽MD5](http://www.happyhong.cn/download/lvmama.html) > [從今天開始種樹-途牛MD5](http://www.happyhong.cn/download/tuniu.html) > [從今天開始種樹-搜狐視訊MD5](http://www.happyhong.cn/download/souhu.html) ## 開始 本次涉及同程旅遊、驢媽媽、途牛、還有“買三送一”的搜狐,方法重複性雖高但並不阻礙大家親自嘗試哦。 #### 同程旅遊 開啟同程旅遊登入介面:![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830211245176.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) 輸入錯誤的賬號密碼,找到請求`url`: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830211344672.png#pic_center) 檢視`formdata`,發現`pass`(即密碼)被加密了: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830211419643.png#pic_center) 選擇呼叫棧進去: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830211517279.png#pic_center) 在檔案中搜索`pass`: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830211549597.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) `MD5`赫然映入眼簾,那就打上斷點,然後跳到這個`MD5`裡看看,最先跳到這裡: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830211724479.png#pic_center) 往下一拉發現JS程式碼就區區一百行: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830211756243.png#pic_center) 摳出來即可執行。 #### 同程執行結果 ```python 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) ``` ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/2020083022240092.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) 一模一樣。 #### 驢媽媽 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830212040523.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) 這麼快就結束了很不爽,繼續開啟一個驢媽媽,套路與上面一樣: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830221732244.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) 輸入賬號密碼後找到`url`,檢視`formdata`: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830221948399.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) 這麼短的加密方式一般就是`MD5`,通過呼叫棧進入檔案,搜尋`password`,找到入口,函式名直接了當`nd5(pw)`: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830222040685.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) 打上斷點進入md5函式: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830222144924.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) 上下拉一下程式碼發現也就百十行,摳出來。 #### 驢媽媽執行 ```python 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) ``` ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830222457283.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) #### 途牛 還貼圖麼?貼吧 #### 登入 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830222648688.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) 檢視`formdata`: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830222741414.png#pic_center) 一看發現依然`MD5`加密。 #### 呼叫棧進入 函式名倒是變化了一下。整上斷點,進入md5函式裡 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/2020083022270755.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) 同拉,發現也是100多行。 #### 途牛執行結果 閉著眼睛扣完使用`python`呼叫。 ```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) ``` ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830223003552.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) #### 買三送一:搜狐視訊 隨便點擊發現搜狐視訊也是`MD5`加密,看一看`formdata`: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830223348309.png#pic_center) 呼叫棧進去,搜尋關鍵字,打上斷點,一氣呵成: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830223416789.png#pic_center) 進入md5函式,同樣100多行: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830223449958.png#pic_center) 換湯不換藥,直接摳出來執行。 #### 搜狐視訊執行結果 ```python 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) ``` ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200830223548451.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) 完全一致,有內味了。 ## 結束 一口氣把途牛、同程、驢媽媽、搜狐拎出來了,都很簡單,建議親自試試哦,如果對大家有幫助的話不妨關注一下**知識圖譜與大資料**公眾號,當然不關注也無所謂,有問題隨時私信。 ![公眾號](https://img-blog.csdnimg.cn/20200321100547328.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic_center) ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20200927175728947.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x1b2h1YTEzOTUw,size_16,color_FFFFFF,t_70#pic