Dr.com是城市熱點公司開發的寬頻計費系統,可以控制網路進行管理,認證,計費,限速……許多的高校與企業都有使用。 從接觸到drcom就很感興趣(原因想必大家都懂...) drcom登陸(認證)方式又有很多不同 這裡說下web端登陸的加密方式 ...
Dr.com是城市熱點公司開發的寬頻計費系統,可以控制網路進行管理,認證,計費,限速……許多的高校與企業都有使用。
從接觸到drcom就很感興趣(原因想必大家都懂...)
drcom登陸(認證)方式又有很多不同 這裡說下web端登陸的加密方式
在此之前查閱了很多資料 比較用的如下:
用python登錄Dr.com: http://blog.csdn.net/cugbabybear/article/details/34106537
南京郵電大學專用的Drcom認證登陸軟體: https://git.oschina.net/labrusca/NUPT_Drcom_loginer
同樣從碼雲搜索到的: https://git.oschina.net/neophack/drcom
bjut校園網自動登錄: http://blog.csdn.net/x_iya/article/details/52752860
其中python的一段代碼:
def calpwd(init_pwd): #使用md5進行密碼加密 pid = '1' calg='12345678' tmp = pid + init_pwd + calg pwd = md5(tmp).hexdigest() + calg + pid return pwd
調用:
def login(usr, passwd, url = school_url,force=0): data = {} # 初始化表單 data["DDDDD"] = usr data["upass"] = calpwd(passwd) #密碼轉換 data["R1"] = "0" data["R2"] = "1" data["para"] = "00" data["0MKKey"] = "123456" data = urlencode(data) #編碼
從上面可以明確的看到加密方式其實就是
MD5(pid+password+calg)+calg+pid
//其中pid 與 calg 都是常量 但是不同地區兩個值也可能有所不同
web端的數據提交方式為Post 那麼隨便抓個包便能獲取那有用的信息
我直接使用的手機(沒有電腦可用)
這裡我使用的軟體是
無Root抓包:Packet Capture
抓取的的一段數據:
//使用了賬號 1234567890 //密碼 567890 DDDDD=12345678&upass=43bfd7c555c8a0f0a937c6e23d21d1b9123456782&R1=0&R2=1¶=00&0MKKey=123456&R6=1 //從上面的數據可以明確看到 //DDDDD為賬號 //upass為密碼 //(也就是256789012345678經過md5加密後的值加上123456782) //從而確認 pid=2 calg=12345678
這樣得到了提交方式又得到了加密方式 若是賬號存在與密碼存在一定規則 窮舉也就變得ez((〜^㉨^)〜)...