程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Dr.com──加密方式(網頁端),dr.com加密網頁端

Dr.com──加密方式(網頁端),dr.com加密網頁端

編輯:關於PHP編程

Dr.com──加密方式(網頁端),dr.com加密網頁端


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&para=00&0MKKey=123456&R6=1

//從上面的數據可以明確看到 
//DDDDD為賬號
//upass為密碼
    //(也就是256789012345678經過md5加密後的值加上123456782)
    //從而確認 pid=2    calg=12345678

這樣得到了提交方式又得到了加密方式 若是賬號存在與密碼存在一定規則 窮舉也就變得ez((〜^㉨^)〜)...

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved