tornado 发表于 2017-10-31 16:52

某公司内部WEB系统登录密码加密解密分析及易语言实现源码

本帖最后由 tornado 于 2017-10-31 17:00 编辑

       某公司上班打卡需要登录内网WEB系统,通过微信绑定后扫描系统签到页面二维码进行打卡。
       本帖只讲述易语言实现内网登录密码加解密,签到打卡其他的不进行描述。

一、抓取登录数据包
       通过抓包抓取登录内网系统发送数据
      
       登录数据包括三个参数:STAFFID(帐号)、pwdpwd(加密后的密码)、v_code(验证码)
       其中帐号为明文,密码通过加密,验证码正常都是空。
二、获取加密密码来源
       在Httpwatch里面搜索pwdpwd参数,发现在首域名里面写着,提交按钮被单击,document.myform.pwdpwd.value=encode(document.myform.PWD.value);,也就是说是通过encode进行加密的。
      
       查找encode,发现这个函数是在一个encode.js文件里面
      
      js代码整理如下:
      function encode(Dvdr_sy$1){
var JwccNiiE2=Dvdr_sy$1;
var o3="";
JwccNiiE2=BASE64["\x65\x6e\x63\x6f\x64\x65\x72"](JwccNiiE2);
while (JwccNiiE2["\x6c\x65\x6e\x67\x74\x68"]>0)
{
o3=o3+JwccNiiE2["\x73\x75\x62\x73\x74\x72"](JwccNiiE2["\x6c\x65\x6e\x67\x74\x68"]-1,JwccNiiE2["\x6c\x65\x6e\x67\x74\x68"]);
JwccNiiE2=JwccNiiE2["\x73\x75\x62\x73\x74\x72"](0,JwccNiiE2["\x6c\x65\x6e\x67\x74\x68"]-1);
}
JwccNiiE2=BASE64["\x65\x6e\x63\x6f\x64\x65\x72"](o3);
return JwccNiiE2;
}
       代码经过了base64编码,解码后如下:
       function encode(Dvdr_sy$1)
{
var JwccNiiE2=Dvdr_sy$1;
var o3="";
JwccNiiE2=encoder(JwccNiiE2);
while (JwccNiiE2.length>0)
{
o3=o3+JwccNiiE2.substr(JwccNiiE2.length-1,JwccNiiE2.length);
JwccNiiE2=JwccNiiE2.substr(0,JwccNiiE2.length-1);
}
JwccNiiE2=encoder(o3);
return JwccNiiE2;
}
       其中函数又调用到了一个encoder函数,再次查找encoder,在一个base64.js里面找到这个函数,其实就是base64编码
      
三、加密思路
       根据上面的代码进行查看,原始密码先进行base64编码,然后在通过一个while循环实现倒序排列,最后再进行一次base64编码得到加密后的密码
      
四、易语言实现加密解密
      
      



       至此,加密解密完成。

fly江湖 发表于 2017-10-31 17:03

有的还是不错的

1206576 发表于 2017-10-31 17:11

有点看不懂 但是正在学习

kesshei 发表于 2017-10-31 17:41

这个思维很好,虽然 这个加密好简单。。只是编码了一下。

☆βаβメ氣 发表于 2017-10-31 17:59

- -这是要搞事,现在签到真是烦死人啊,唉

tornado 发表于 2017-11-1 10:57

自动打卡是不行的,但是我已经实现了将签到链接发到手机上。可以实现随时随地远程打卡~

白笙 发表于 2017-11-1 14:43

这个加密有点简单啊。。{:1_907:}

searchjack 发表于 2017-11-11 06:22

{:1_907:}   对于万能的程序员,!!!

wojinz 发表于 2017-11-12 08:03

就是base64编码加密解密{:1_918:}

wojinz 发表于 2018-4-19 18:51

易语言实现源码:eee
页: [1] 2
查看完整版本: 某公司内部WEB系统登录密码加密解密分析及易语言实现源码