只是一篇白开水文章,用来吐槽我们学校的管理系统的。
有人问,马老师发生什么事了?我一看,奥,原来是昨天,有两个年轻人,一个码龄,三年多,一个码龄四年多。他们说:“诶...有一个说是毕设系统有问题,马老师你能不能教教我看”,然后上来就是一个html检索,吭,一个sql注入,一个字典查密码。我说年轻人不讲武德,他忙说对不起,他说他是乱注的。他可不是乱注的,一个“; and 1=1 and 1=2”, 一个“and 0<>(select count(*) from *)”,训练有素,看来是有备而来。这两个年轻人不讲武德,来骗!来偷袭我这外包公司写的管理系统,这好吗?这不好。我劝这位年轻人,耗子尾汁。好好反思。以后不要再犯这样的小聪明。武林要以和为贵,要讲武德,不要搞窝里斗。
哈哈哈,开个小玩笑,来讲一下昨天一晚上发现的搞笑事情吧,起初题目公布了,我们就是浏览了一下,但是他这个系统选题没有指导老师,很烦,就打算从api
来看是否有什么思路找出来。结果这一看直接傻眼了,我滴天哪,这个系统竟然把所有数据都写在了一个api
里面,这我是真的没想到的,各种隐私数据,导师信息,需求分析,题目类别,id,就连导师密码都写在里面了,不禁令人直呼真牛哇!真牛哇!这都可以的吗,这种程度的程序员都能出来拿工资吗??现在计算机行业这么不饱和??
起初,我就是把这些数据爬了下来然后提取了一下数据发群里然后就没再管,直到晚上朋友发的一句话才有了下面这些剧情.......
晚上,有一位朋友L
说这个网站有bug,可以提前选课。起初我是很好奇的,因为提示的api只有一个校验,云端校验并且没有时间戳相关提交字段,怎么说都没办法绕过检测。然后就有了下面的对话:
"选课的api和校验的api不是一个啊"
“???不是,你怎么知道的api地址的"
“直接根据
id
search一下就能找到了”
我立马根据他所说的去搜索了一下,然后就发现了下面的这段令人哭笑不得的代码:
奥,闹了半天这个云端校验就是个幌子,选课代码直接裸写到html
里面,真有你的啊,青峰软件!到了这时,我才明白,这个网站根本就不是vue
之类的主流框架写的,而是利用JQuery
和Html
粗劣的拼接起来的垃圾平台,甚至JS
文件都不是引入+混淆,而是直接正大光明的写到文件里面,好家伙!我直接™好家伙!
然后我就先自己选了~
根据说明,本专业的人本来只能选本专业的题目的,然而既然选课api被发现了,又发现了参数信息,得知这个选题只要一个id
就可以选了,那么我能不能拿别的专业题目来请求选课呢?答案竟然是可以的,后台完全没有对于专业进行相关的校验,直接就是可以随便选了,再次惊呼好家伙!
既然这个平台都这样了,为什么不再进一步呢,然后!就有了更加惊人的发现,这!个!网!站!居!然!没!有!做!防!注!入!
P.S. 数据库貌似是mongodb
(待验证)
再!次!好!家!伙!
本来弱口令不算做问题,但是教师的******* (此处保密删除),这就是很大的问题了。起初发现这个问题是因为在最开始获取数据的时候了解到了密码,查看格式知道是md5
加密,本来这种加密手段直接弱口令表/彩虹表一查就出来的,然而,这里的规律提示所有老师的******的......然后果断尝试**************
(保密),就........就成功了!?好家伙,这也可以的吗?
这个就是老生常谈了,到了这个地步我已经不指望了。果然,没有黑名单处理,session直接持久化保存,不会被顶掉。CSRF
攻击防御措施也没有,甚至有时候session id
都是放在param
里面的,不得不说外包公司的程序员真的是想象力"天马行空"。
根据上面的各种漏洞,我们基本可以做到:
利用老师的cookie进行sql注入,达到删库或者shell提权操作,搞垮平台或者直接全部删掉,然后直接溜之大吉不被任何人发现。
吐槽到这,心里已经对这个学校失望透顶了,外包都只能找到这种程度的,这种甚至不该是公司产品,只不过是一个学生的课程设计级别的罢了。不,可能真的是学生作品,外包公司二次外包,三次外包,最后流入到学生手上的又有多少呢,这一层层之间回扣又吃了多少占比呢,我不敢想象。
希望学弟学妹们也要引以为戒,写出来能用的代码很容易,写出来可以用的代码却很难,明白自己这个阶段该学习什么,能有什么竞争力,为自己得到什么利益。
天下熙熙皆为利来,天下攘攘皆为利往。
人总是会为了利益不择手段的,哪怕是骗,抢。
本文作者:xmmmmmovo
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 许可协议。转载请注明出处!