每日爬蟲JS小逆之5分鐘旅遊網MD5一鍋端
阿新 • • 發佈:2020-09-27
> 來吧騷年,每天花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