浅谈某网站中存在的问题🤔

免责声明

本文记录的问题已向网站方面反馈,相关关键信息及接口路径已进行打码处理。在问题验证过程中,未进行漏洞利用或任何可能造成影响的操作。本文仅作为个人学习记录与反思,旨在避免今后开发中出现类似安全问题,未披露任何可直接复现问题的具体 API 端点、参数或利用方式。在阅读文章前,您需要保证不会进行任何违法违规操作或测试。因参考本文内容而进行的测试,涉及违法、违规操作的,相关责任由行为人自行承担,作者不对由此产生的任何结果负责。

本文部分描述基于个人观察,可能存在理解偏差,如果您认为本文存在任何不妥之处,欢迎随时与我联系,我将完全配合并进行相应调整。承蒙垂阅,敬请指正。

截至本文发布时,相关问题尚未确认修复状态

本文基于真实使用中遇到的现象进行抽象和泛化,不指向任何特定系统。

前言

嘛...最近在课上使用某系统的时候,还没登进系统就出现了验证码加载失败的提示,询问周围同学发现都是一样的情况。打开dev tools,发现全都是各种红色的请求(报错)。在等待了许久,经历了无数次刷新后终于成功登录,却看到了一片空白。总算加载出了菜单,点击开始考试,却疯狂弹出(1040, Too many connections),尝试使用curl手动请求api发现就连判断JWT token无效都需要30s,很明显80多个学生的同时请求超出了系统承受能力,看来只能等一等了。此时距离原定开始考试时间已经过去20分钟,笔者决定研究一下...其实是因为2026年还没写过博客,所以水一篇喵

概览

查看网页的view-source页面和部分接口的返回,发现这是一个前端基于vue3+Element Plus(目测可能是这个UI库喵),后端基于python+django rest框架的全栈项目。

image-ENvg.png
image-WQOb.png

神秘的init接口

既然源代码中的title是页面加载中...,那么配置是从哪里来的呢?页面加载时有半秒的空白,结合刚才服务器爆炸时菜单都无法加载的情况,猜测是从后端获取的。

经验证还真是。而且它也是问题最大的接口。

我们通过dev tools查看该接口返回,发现了....里面居然返回了sms secert, 服务器机器码等一系列敏感内容....信息量有点大了喵

为了避免被恶意利用,此处不放图片,也不详细说明可被利用的字段有哪些。

其他倒没什么....把sms的所有配置都明文放在前端确实有点危险了喵,而且还是无需身份验证即可请求的接口。

诡异的资源加载量

访问首页,看看加载了哪些资源:

image-Efje.png

一直在反复请求校徽文件,首次加载的整体资源大小高达91.1MB

嗯....确实有点诡异了,按理来说没必要请求这么多遍,但是我没仔细研究,也不知道是哪里出了问题。可能是避免校徽文件出错吧,我才疏学浅没搞懂这里的意义。

server time接口

这个接口在考试时每5秒会请求一次,普通情况下只请求一次,或许也是导致系统崩溃的原因之一(但报错是连接池耗尽,大概这不是主要诱因,除非server_time经过数据库),盲猜是为了通过调整本地时间绕过考试时间限制....但是没看到具体实现。其实可以在服务器端计时的,感觉这样有点多此一举,不过可能也是系统太高级了我没读懂吧。

性别:0

笑点解析:你怎么知道我是可爱弱受0喵

后端没有设置性别时就返回0,其实可以搞一个比如请设置性别的默认文本。看了一下设置个人信息的api,gender字段有三种值,0、1、2,分别是0、男、女,返回的并不是文本,所以不应该说默认文本,而是在后端返回0时提示请设置性别。有趣的是,通过更新个人信息api可以把性别设置回0,还是校验一下客户端的请求为妙呀

名单大放送

看到一个几百行的examassignment接口返回,那我可要看看是什么了喵。

名单大放送....还好这个接口需要登录,不然就大事不好了。

很明显前端没有用到这些信息,也可能是我眼瞎没看到,但...不管怎么说返回900多行的数据有点多呀

完全没有筛选机制的AI大模型

....

要不看看你在说啥喵....吓哭了

试了一下,基本上没什么人用,所以说什么都会被放到大家常问里。原本大家常问哪里是一些污言秽语,我说了个你好就那里就变成你好了喵。其实这里也不算系统问题,既没有XSS也没有SQL注入,主要是看到了某些逆天学生的逆天行为。

没有上下文的AI大模型

这里还有另一个在线AI助手,接入的是deepseek-chat模型,看模型名字推测用的是deepseek官方api。

使用流式请求api,有后端代理,这一点必须点赞。不过没有上下文真是有点可惜

image-uYYj.png

可以看到请求体中只有本次发送的消息,就差一步这个AI就能用了呀,有点可惜。

不过在正常登录流程中即可获取用于身份识别的 Token,就可以调用本接口自行传递上下文了喵。相关认证细节此处不展开。

结语

最终考试回滚到了纸笔考试,老师也通过机房管理软件关闭了所有电脑。或许还是纸笔考试SLA最高,100%。这个故事告诉我们,再现代的框架也阻止不了有问题的代码,再精密的前端也挡不住脆弱的后端呀....望这些漏洞早日被修复,也希望大家在写代码的时候一定一定注意好权限分层和避免不必要的请求呀,祝大家都能写出完美的后端喵!

感谢阅读喵


浅谈某网站中存在的问题🤔
https://leonxie.cn/archives/some-issues-in-a-website
作者
LeonXie
发布于
2026年01月28日
更新于
2026年01月28日
许可协议