学习通回应疑似用户数据泄露传闻,未发现明确证据,已报案 ...

论坛 期权论坛 金融     
国泰君安   2022-6-22 19:18   13293   5
针对学习通数据库疑发生信息泄露一事,6月21日,学习通官博做出回应,学习通昨晚收到“疑似学习通APP用户数据泄露”的反馈信息,立即组织技术排查,目前排查工作已经进行了十余个小时,到目前为止还未发现明确的用户信息泄露证据。鉴于事情重大,学习通已经向公安机关报案,公安机关已经介入调查。
学习通不存储用户明文密码,采取单向加密存储,理论上用户密码不会泄露,在这种技术手段下即使公司内部员工(包括程序员)也无法获得密码明文。公司确认网上传言密码泄露是不实的。
用户信息安全是重大问题,学习通高度重视,将协助公安机关继续深入调查,全力保障用户信息和数据安全。

分享到 :
0 人收藏

5 个回复

倒序浏览
2#
吴宇  管理员  伦敦金丝雀码头交易员 | 2022-6-22 19:19:43 发帖IP地址来自 北京
我认为学习通存在很大的问题。
按照业内常用方法,密码一般使用哈希加密后传输,这样即使遭到中间人攻击,也能保护密码不被泄露。
但是,学习通并不是这样。
通过对浏览器对网络请求的追踪,可以发现登录请求使用POST方式发送到https://passport2.chaoxing.com/fanyalogin。而且看上去好像确实加密了。



可以见到123456被加密为218b246a6f42ee81

通过检查发起程序,我们可以确认请求是谁发起的。



发起程序是login.js

在对login.js进行检查后,发现了令人震惊的一幕。


将整个函数放上来:
//手机号+密码登录
function loginByPhoneAndPwd(){
        util.showMsg(false,"phoneMsg","",true);
        util.showMsg(false,"pwdMsg","",true);
        util.showMsg(false,"err-txt","");
        var phone = $("#phone").val().trim();
        var pwd = $("#pwd").val();
        var fid = $("#fid").val();
        var refer = $("#refer").val();
        var forbidotherlogin = $("#forbidotherlogin").val();
        if(util.isEmpty(phone)){
                util.showMsg(true,"phoneMsg",please_input_phone,true);
                return;
        }/*else if(!util.isInterPhone(phone) && (phone.length > 50 || !util.checkEmail(phone))){
                util.showMsg(true,"phoneMsg","手机号格式错误",true);
                return;
        }*/
        if(util.isEmpty(pwd)){
                util.showMsg(true,"pwdMsg",please_input_pwd,true);
                return;
        }
        var t = $("#t").val();
        if(t == "true"){
                var transferKey =  "u2oh6Vu^HWe40fj";
                pwd = encryptByDES(pwd, transferKey);//这里直接使用可以被还原的DES进行加密
                //pwd = $.base64.btoa(pwd,"UTF-8");
        }

        if(capInstance == null || $("#needVcode").val() != "1"){
                //容错
                loginByPhoneAndPwdSubmit();
        }else{
                capInstance && capInstance.popUp();
        }
不难看出,该程序并非通过哈希进行加密,而是使用可以解密的DES算法进行加密。
DES的详细参数见下图:



http://tool.chacuo.net/cryptdes

但是,就算这样,如果按照常理,transferKey是由服务器随机生成的,一般也难以泄露。
那么,为什么会这样?



可见这个transferKey完全是硬编码在js中的

这个transferKey根本就是一个硬编码的固定值嘛。这样一来就有了多种可能:
1.数据库也是用transferKey加密的,因此在暴露后遭到破解。
2.数据库是明文存储的。
3.学习通优化技术过差,让密码先从明文变为DES密文,在从DES密文解密为明文,最后进行哈希再与数据库比对。
3.学习通优化技术过差,让密码先从明文变为DES密文,使用DES密文进行哈希再与数据库比对。

具体怎么样就见仁见智了。
22日12:21更新
[BUG反馈]前端密码加密更改 · Issue #116 · Samueli924/chaoxing通过对GitHub上超星相关的内容进行检索,可以确定这种奇怪的方法实际上并不是一开始就是这样,而是在26天之前进行的修改。此前采用的加密方式是现在被注释掉的base64加密。
目前尚不明确超星修改这个的目的。或许是想和自动机器人对抗?不过这样的修改显然达不到那样的目的。
3#
tz9cd5  1级新秀 | 2022-6-22 19:20:09 发帖IP地址来自 北京
4#
allenliu86  1级新秀 | 2022-6-22 19:20:32 发帖IP地址来自 中国
咱就是说,有没有被迫用 U净洗衣服洗澡的呀,一个计水费的app,要我的存储空间,位置,蓝牙权限,不开权限就不给开洗衣机洗衣服。谁知道这些个被强制用的软件泄露了多少学生信息去,学习通可能只是冰山一角。
5#
7_o4  1级新秀 | 2022-6-22 19:21:02 发帖IP地址来自 四川宜宾
学习通的声明来的不算晚。
如何看待网曝学习通疑似发生用户数据泄露?这件事最重要的是,那份网传的名单,只要那份名单能现世,一切都理得通了。学习通泄露信息就实锤了。
试想,你再怎么辟谣,如果我能在一份名单里看到我的详细信息以及密码,那还用得着考虑真假吗?
矛盾的是,你要想知道是否泄密,就要看到那份名单,但是看到那份名单也就意味着你侵犯他人隐私了。这就意味着,目前为止,实锤者肯定也看到了他人密码。
这就是矛盾的地方,要想运用法律维权,首先就要触犯法律。
至于那使用次数,作为医学生的我,感觉我的次数还是偏少了,对此我感觉十分正常。
打开方法是



点这个小花就会出现。



但是目前,我真的没任何渠道发现这名单,也没人给我分享过。我也没有被强制下线过。
所以现在,我没看到名单,对此一直抱有怀疑态度。
但是网上这么多网友都实锤学习通泄露,我也不晓得真假了。
讲道理,对那份名单,我是很想看,但是又不敢看,属于敬而远之的东西了。
别想着去传播,肯定判刑,别到了最后,人家泄密的判两年,你传播判了五年。

我的密码都已经改完了,宁可信其有,不可信其无。这件事太重要了,对于大学生而言,学习通密码泄露不仅仅是裸奔什么的,而是一切网络软件密码都泄露了。
能用到登录系统的,上到银行系统,下到小程序。真的很恐怖,大家趁早改密码,我指的是除了学习通以外的通用密码。
6#
nia  3级会员 | 2022-6-22 19:21:25 发帖IP地址来自 福建
学习通再回应信息泄露传闻:使用量不是“使用次数”,几十万次很正常

21日,学习通发布关于学习通使用量数据的说明称:
学习通使用量不是"使用学习通的次数",而是用户使用学习通时向服务器发出的页面请求次数,类似于互联网请求的pv值(pageview)。pageview是互联网行业用来评价网站使用的一个常规指标。
用户每次点击一个页面都会引发一个和数个pv,依赖于页面的图片数量等情况。一个学习者正常学习每天会有几百到上千使用量。
学习者有几十万学习通使用量是正常现象,而不是账号泄露的表现。可对比周围同学的学习通使用量,可以很方便看出这一点。
学习通使用量数据仅供个人查看。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP