Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ouyen/b87b2a045488abe84cc57fb14662f782 to your computer and use it in GitHub Desktop.
Save ouyen/b87b2a045488abe84cc57fb14662f782 to your computer and use it in GitHub Desktop.

从技术的角度评论一下pku这个美丽的树洞改版:

此树洞已经被发现有很多安全漏洞, 请登录过的同学尽快修改密码


最广为诟病的密码问题

  • 原本按照计算中心的有关要求, 所有pku的账号密码登录都应该通过iaaa进行, 但是这个树洞却采用收集账号密码到自己的服务器, 并用自己的服务器进行验证, 有严重的安全隐患和密码泄漏风险, 建议登陆前修改密码, 登陆后再改回去 修改密码链接: https://iaaa.pku.edu.cn/iaaa/resources/help/findPwd.html

  • 关于隐患的补充说明:

    • 密码在传输过程中未进行非对称加密, 但是使用https传输, 所以此处问题或许不大
    • 密码最终很有可能会明文在树洞的服务器中, 但是鉴于树洞的维护者水平 (可以参考之前好几次https签名过期没有自动续签), 我认为有隐患(包含此服务器不安全 可能会被攻击的担忧)
  • 并且由于鉴权方式改版, 很多第三方的开发者基于token开发的树洞和应用均不可用了, 比如我最常用的是 https://pkuholece.gitee.io/stable/ 已经无法使用

  • 经评论补充 qy获得了他们本来不应该获得的树洞同学的学校账号及密码,这可以被拿来做什么我想都不敢想


功能缺失

原版树洞网页版集成了很多功能, 比如课表查询, 成绩查询 教室查询, 课程测评;

  • 成绩查询和教室查询: 在此次改版中 成绩查询和教室查询由于胡乱修改已经无法使用, 且空闲教室查询的入口已经消失;
  • 课表查询: 在之前qy接管的时候就因为无人维护而无法使用, 现在看起来重新做了一个 但是可用性未知;树洞原作者xmcp开发的课表助手已经在他自己的网站上可以使用: https://xmcp.ltd/syllabus/
  • 课程测评: https://courses.pinzhixiaoyuan.com/ 由于没有在pkuhelper进行托管而逃过一劫, 但是原本树洞的入口消失.

版权问题

原树洞网页版是由xmcp开发, 经过GPLv3在Github开源, 虽然其开源仓库在qy接管之后就已经删除, 但是根据GPLv3协议的要求, 后续基于此的开发必须以GPLv3协议开源 (GPL的传染性), 但是根据 北大树洞服务协议 https://treehole.pku.edu.cn/PKU_Hole_User_Agreement.html 5. 知识产权一节(抄录如下):

" 北京大学拥有许可软件的软件著作权、专利以及其他相关的知识产权,包括与许可软件有关的各种文档资料及其中的知识产权。" 此声明违反了GPLv3的授权

备注: 经过群友的讨论, 认为是重写了此网页版, 但是使用的框架很古老, 此处引用群友发言: 很符合我对培训班程序员的想象


UI问题

新版的UI存在大量问题, 包括但不限于各种错误, 自身的黑暗模式很奇怪等等, 在此不一一列举, 还是引用上一段的一句话: 很符合我对培训班程序员的想象


本身的安全问题

此树洞已经被发现有很多安全漏洞, 请登录过的同学尽快修改密码


负优化

  • 不支持PWA技术
  • 动画完全没有流畅度
  • 各种组件布局奇怪

一些优化

  • 据说现在更方便删帖了, 此消息可信性未知

一些细节乐子问题

  • 黑暗模式的跟随系统为跟随用户的系统时间, 在18:00-6:00为黑暗模式

其他

有一些特定话题不方便展开, 在此暂时省略

@xmcp
Copy link

xmcp commented Jan 7, 2023

后端使用的是PHP框架Laravel

4f87d412ea3817c42532cb3bb305f6b

a82d153448ed81c7dd05393d14a3876

@xmcp
Copy link

xmcp commented Jan 7, 2023

前端的开发路径是一个长得像 /www/wwwroot/test_pku_web_h5 之类的东西

c616e4119c8e9eb56ee680c2ccd0205

@xmcp
Copy link

xmcp commented Jan 7, 2023

其中一个开发人员的用户名是 Lee,还有微信号的 hash

a1497166acca3f92569f63e03d945f2

@ouyen
Copy link
Author

ouyen commented Jan 7, 2023

此树洞已被发现安全风险 请尽快修改密码

@zgy0x01
Copy link

zgy0x01 commented Jan 8, 2023

LC`}X5KH{ZWD Z3~S@6P297
Android客户端登录用RSA了

@zgy0x01
Copy link

zgy0x01 commented Jan 8, 2023

做的这么烂的app还加了一个叫alphashield的壳,挺离谱。

@zgy0x01
Copy link

zgy0x01 commented Jan 9, 2023

为什么说“密码最终会明文在树洞的服务器中”呢?有可能是树洞服务器调用学校的验证接口,而不是客户端调用。这点没有根据。

@ouyen
Copy link
Author

ouyen commented Jan 9, 2023

为什么说“密码最终会明文在树洞的服务器中”呢?有可能是树洞服务器调用学校的验证接口,而不是客户端调用。这点没有根据。

已修改

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment