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

//从上面的数据可以明确看到 
//DDDDD为账号
//upass为密码
    //(也就是256789012345678经过md5加密后的值加上123456782)
    //从而确认 pid=2    calg=12345678

这样得到了提交方式又得到了加密方式 若是账号存在与密码存在一定规则 穷举也就变得ez((〜^㉨^)〜)…

 

版权声明:本文为wyp175原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wyp175/p/drcom_password_mode.html