CMCC-EDU 登陸過程分析 圖文詳解

模擬登陸就是搞明白瀏覽器登陸的工作方式,使用喜歡的語言來編制自己的軟件來模擬瀏覽器的過程。在分析CMCC-EDU登陸過程中,我使用的工具是 IE9 HTTP Analyzer V7.

         IE9自帶的開發人員工具(按F12)可以實現網絡抓包,使用過程也比較簡單,而且可以過濾一些瀏覽器插件的網絡數據包,但是在使用過程中我發現有個bug,最好能結合HTTP Analyzer來對照,避免出錯。但是來分析大概的流程還是很方便的。

HTTP Analyzer V7 能夠對包括IE在內的任何軟件進行抓包,可以很方便的檢測自己軟件發送的數據包是否正確。

1.獲取登陸數據包的步驟

1、打開IE9,打開空白網頁
2、按F12,F12開發人員工具,再切換到網絡界面,選擇清除 cookie 和 緩存

	3、點擊 “開始捕獲按鈕”,開始網絡抓包

  4、在地址欄輸入測試網址 http://www.baidu.com,登陸CMCC-EDU校園網

可以看到下方已經抓到很多數據包:


 5、登陸成功後按下停止捕獲按鈕,開始分析。

 

2.網絡登陸過程分析

面對這麼多的數據包,其實有很多是沒有用的,例如一些圖片的下載,這樣可以簡化分析流程,主要分析的內容也是POSE請求和帶參數的GET。

2.1先找出核心登陸的網絡地址,一般是POST 提交保密的的消息到服務器。

可以看到有一條數據是在單擊時(也就是點擊登陸按鈕時)提交的。



查看其post數據的請求正文:


果然是剛輸入的手機號碼和密碼及驗證碼,這樣關鍵數據就得到了。

再看請求的網址: 

http://218.200.239.185:8888/portalserver/user/unionlogin.do?brasip=221.182.42.30&braslogoutip=221.182.42.30&area=union&wlanuserip=10.100.67.23&redirectUrl=example/cnunion/cnunion&domain=@chinamobile

多次登陸之後其他的部分都沒變化,唯一變化的就值紅色的IP 地址。通過wlanuserip和查看自己的IP確認這個就是本機的IP地址。這樣這個POST數據的網絡地址也可以構造了。

2.2在下登陸按鈕之前,還有一個序號爲22 POST請求, 查看請求正文


中間的數據比較多,但比較明顯可能有變化的就是 劃線的兩個參數,因爲服務器也不是檢測上傳的每個數據。通過在全文中索,發現其中的httpSessionId=D13B289473F303961EDB55E226481FB7就是服務器設置的 cookie,這個是在剛訪問登陸界面(第2條請求時)服務器就在本機設置的。


而scriptSessionId=F51325060A121C027454092A7BD8B4E4583 在第6 GET次的engine.js文件中出現。

但是發送給服務器的的內容在末尾卻多了3位字符。

2.3查看該腳本的內容:


通過搜索發現,是在原_origScriptSessionId的基礎上加了一個範圍1000的隨機數。雖然現在我們不懂它是什麼意思,但是也還是可以使用語言去模擬。這樣又解決一個參數問題。同時也要多一個請求 即:GET enjin.js   文件,提取中間的_origScriptSessionId。

         關於其他的參數,經過多次的登陸抓包比較,發現每次都一樣,並且在前文中也沒有發現相關的信息,所以暫時認爲是常量字段。直接按照結構構造就行,有問題再回來看。

2.4在第7 次請求中,響應正文是一張驗證碼

 關於本驗證碼的識別在 這裏.

而且每次的GET請求地址都相同,那服務器靠什麼區分呢。經過分析,那就是每次請求的不同之處 cookie ,那麼在GET時就要帶上cookie.

 

2.5在第4次請求中,GET網址帶了參數 (以&= ***的形式)

http://218.200.239.185:8888/portalserver/user/unionlogin.do?brasip=221.182.42.30&braslogoutip=221.182.42.30&area=union&wlanuserip=10.100.67.23&redirectUrl=example/cnunion/cnunion&domain=@chinamobile


發現和2.1POST的網址相同,下面是他的參數(使用HTTP Analyzer V7查看)。


唯一的變化也是紅色的IP地址,所以下面要去看這個IP地址從哪來的。

 

2.6通過全文搜索IP    wlanuserip=10.100.67.23,在請求1的響應數據中發現這個地址


這是Location 地址,也就是下一步跳轉的地址。查看請求2,果然訪問的是這個地址。

 

 

這樣IP地址也獲取到了。

 

2.7 cookie

Cookie 在本次登陸中多次使用到,下面就查看cookie的來源,經過看看只有在請求1和請求2中的響應頭中有Set-COOKIE 字段,而請求1是訪問的www.baidu.com,其設置的cookie對我登陸沒用,只有請求2中的cookie纔是正確的。



3、 登陸流程整體的分析

上面的是具體的登陸過程分析,現在是整體登陸過程的的彙總


4、總結

通過以上的分析,基本弄清CMCC-EDU登陸的流程,我也使用MFC 成功實現了登陸  軟件下載
模擬網頁登陸就是個心細活兒,只要好好利用工具多次比對每次的差異,就能容易的實現過程分析。以上的過程也不是一次就分析成功的,需要在自己的模擬登陸程序中一步步的去檢測,對比是服務器的返回否相同(比如確定哪些提交數據時每次都相同的,不需要特別的構造)。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章