程序员写 2000 行 if else?领导:这个锅我不背


前言

知乎上有小伙伴提了这么一个问题,如何看待陕西省普通话水平测试成绩查询系统?查询系统前端代码就直接给出了身份账号,姓名,证书编号,如果信息是真的,就泄露了这么多考生的信息,白给那种。为什么会发生这样的事情?事情的始末是什么?

证据

很多机智的小伙伴都打开了网址一探究竟,小编也不敢怠慢赶紧瞅瞅这牛逼的网站到底长什么样子。

看着的确有模有样,一股80年代的复古风格,赶紧拿出 F12 神器看一遍究竟哪位程序员写出如此神奇的逻辑代码。

点开层层结构,找到 <script>,卧槽还有这等神逻辑,本地数据库,htmlsql

小编拷贝出来这段逻辑代码,足足有 2000 行代码,涉及多大几百个考生的身份证信息,为了安全期间,小编只好给马赛克了。

通过逻辑分析发现,这个系统查询本质上并不是用证件号 + 姓名 + 身份证号来查的,其实仅仅用姓名就足够了,你可以直接访问:

http://www.sxpth.cn/小明查询结果.htm

这不是重点,重点在后面,一段神奇的代码:

else
{
  //如果输入的不是hello,那么跳转到百度。总之,你说不可以用asp也就是服务器脚本只能弄个客服端了
  location='查无此人.html';
}

看到这里,小伙伴们可能会以为这是哪个沙雕领导的要求?然而峰回路转的是,众网友居然找到了源代码的出处,居然是 2009 年一位网友在百度知道的回答,不得不说互联网真是个神奇的存在。

# 小伙伴们可以看这里
https://zhidao.baidu.com/question/119639957.html

难道这就是整个故事的结局,显然不是,回到问题开头,待陕西省普通话水平测试成绩查询系统 怎么说也应该是个正规的官方系统,顺手查了一下网站的备案信息。

那么问题很明确了,这只是一个假网址http://sxpth.cn,仿冒的是这个真实的网址http://sx.cltt.org

不过假冒网站现在已经 Service Unavailable 了,不知道是访问量过大服务爆了,还是自行下线了。

网友热评

最后,我们欣赏一下各路吃瓜群众的精彩评论:

天然支持高并发

跨平台兼容性好,任意移植

我想知道这个项目多少钱中标的

真正的前后端分离,完全不需要后端

很前卫 这是Serverless无服务架构

不需要数据库,完全没有拖库的危险

刚才看了看他们网站,承包我这个月的笑点[允悲]

新潮流?微服务转无服务?我一个产品经理也能写![doge]

设计思想很有创意,适用于查考试成绩这种读多写少的高并发业务场景。

代码优化到了极致,亿级并发完全不是事,阿里就缺你这种人才[doge]

不足的一点是,没有采用js代码混淆,这么高明的解决方案就人尽皆知了

爪哇笔记

作者: 小柒

出处: https://blog.52itstyle.vip

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(345849402@qq.com)咨询。