想重新为老师评分,但是当我登进教务系统一看,我的评价已经提交,并且找不到修改的选项了,这可咋办,于是开始网上找资料,最后形成了以下几种方案:

1.通过内网渗透看能不能对账号进行提权,或获取到数据库的配置文件啥的。

2.物理攻击,直接进入机房操作数据库修改教师评分。

3.在浏览器端调用接口修改系统数据。

想好方案后我赶紧捡好书包回到寝室打开电脑,首先花了半个小时尝试使用第一种方案,但是连服务器的内网ip都没有扫到,再加上此方案会留下脚印,直接放弃此方案。

对于第二种方案,由于正值暑假,机房已经封锁,物理攻击不可行。

然后我就尝试第三种方案,对于此方案还是比较有信心的,毕竟作为一个拥有前端开发经验的小菜鸟老说,这种系统流程还是了解的,评价教师的流程大致就是前端通过http请求将打分的数据发给后端,后端保存到数据库。

第一步还是习惯性的打开浏览器的控制台,令我比较意外的是这个系统竟然更新了,使用了XHR请求,将页面和数据的请求分离开来。

那么怎样才能再次提交评分数据,从而达到修改之前评分的效果呢?

当然是的先找到提交的数据的接口了,但是现在已经提交过了,无法再次提交让系统暴露提交接口出来。不过可以想一下既然之前能提交,那么提交接口有关的信息肯定已经加载到我们本地了。

接着我就花了一点时间审查了一下部分能看到的源代码,还真发现了提交的相关代码,感谢程序员小哥哥写了注释。

然后我又画了一点点时间将此代码提取出来,并构建所需要的数据,然后在浏览器的控制台直接调用此接口把评分的数据传给后端。

你没有看错,我传给后端的评分是999,竟然成功了,服务器还返回了成功。

接着我将软件测试的知识置于实践中,我将评分设定为-1传过去会怎样呢?

我靠,这竟然还能成功,绝对是后端偷懒了、没有进行数据校验,这也提醒我们开发时后端不能完全相信前端出过来的数据,自己得做校验!!!

总所周知,评分都是数字类型的,如果我把评分改为字符传过去会怎样呢?嘿嘿

哈哈,后端接口返回系统异常,估计是后端类型转换异常,然后被捕获了没有将详细的报错信息返回给前端。

不要再给她二次伤害。

2021-08-16记一次无意发现正方教务系统的bug相关推荐

  1. 纯Go实现的Firebase的替代品 | Gopher Daily (2021.08.11) ʕ◔ϖ◔ʔ

    每日一谚:Global variables should have longer names. Go技术生态 如何才能成功将Python切换到Go - https://itnext.io/opinio ...

  2. 2021.07.16 总结

    2021.07.16 总结 ​ 今天状态不怎么好,几道那么容易的题就只有140分,毕竟也就打了前两道 T1 花生采摘 题目描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然 ...

  3. 2021.07.16【普及组】模拟赛C组

    2021.07.16[普及组]模拟赛C组 文章目录 2021.07.16[普及组]模拟赛C组 前言 花生采摘 题目 解析 代码 FBI树 题目 解析 代码 火星人 题目 解析 代码 麦森数 题目 解析 ...

  4. 【Yolov5】1.认真总结6000字Yolov5保姆级教程(旧版本2021.08.03作为备份)

    旧版本2021.08.03 新版本https://blog.csdn.net/m0_53392188/article/details/119334634​​​​​​​ 以作备份 目录 一.前言 二.学 ...

  5. 本博客导读(2021/08/09更新)

    文章目录 1. 简介 1.1 博客精神 1.2 写作目的 1.3 技术方向 1.4 博主 1.5 版权说明 2 推荐内容 2.1 主要代表作 2.2 其他推荐内容 3. 程序类 3.1 C#程序设计 ...

  6. 2021.7.16模拟赛C组总结(转载XJY)

    2021.7.16模拟赛C组总结 这次比赛,题虽然不难,但丝毫不影响我打挂-唉- 0+100+50+0=150 题解 T1 题目描述: ​ 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小 ...

  7. 2021.08.09【普及组】模拟赛C组比赛总结

    文章目录 2021.08.09[普及组]模拟赛C组比赛总结 写在前面: T1 :[普及模拟]生产武器 题目大意: 正解: T2 :[普及模拟]城市连接 题目大意: 正解: T3 :[普及模拟]抢救文件 ...

  8. 《安富莱嵌入式周报》第227期:2021.08.23--2021.08.29

    往期周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 ...

  9. 微软必应(Bing)打不开解决方案(2021.12.16)

    2021.12.19 0:10更新:现在Bing已修复,可直接通过https://cn.bing.com/访问~ 问题描述 2021.12.16开始必应就打不开了.. 解决方案 1. 打开主页 将原先 ...

最新文章

  1. vsearch2.8.1使用和命令简介——中文帮助文档(免费64位版usearch)
  2. 开源 Web 应用最常见漏洞是 XSS 和 SQLI 漏洞
  3. 2019年 第10届 蓝桥杯 Java B组 省赛真题详解及总结
  4. Standard C Library - 思维火花 - 博客频道 - CSDN.NET
  5. pythonclass实例化_Python中实例化class的执行顺序示例详解
  6. PyCharm创造起名自动生成起名·创造者·日期·时间模板
  7. Java基础——动态数组
  8. 《华为研发》阅读 - 16 (矩阵式管理)
  9. Shiro整合JWT实现认证和权限鉴定(执行流程清晰详细)
  10. 负折射率波导matlab,介质波导的数值模拟
  11. 关于j2me mmapi的player接口的一些理解.
  12. 数仓(二):数仓构建流程、数据中台建设
  13. linux系统鼠标左键失灵,鼠标左键不灵敏如何修复 鼠标左键不灵敏解决方法【图文】...
  14. 武 学院2017级计算机专业,关注 | 计算机学院2017级新生见面会暨军训动员会顺利举行...
  15. MOSFET开关原理
  16. linux下rsync命令,Linux 命令之rsync命令详解
  17. zigzag算法详解
  18. IDEA创建maven工程(傻瓜式步骤)
  19. 进制之间的快速转换法:8421码及原码反码补码之间的相互转换关系
  20. 加州旅馆 Hotel California (The Eagles)

热门文章

  1. 光纤收发器测试方法和流程介绍
  2. 随笔 qsnctf misc三体
  3. ClickHouse技术分享PPT
  4. layui table 复选框跳页后再回来保持原来选中的状态
  5. 设计模式(模板模式,命令模式,备忘录模式)
  6. win7计算机右键属性桌面进程重启,Win764位系统电脑自动重启的分析与解决步骤...
  7. python 酷炫效果_六种酷炫Python运行进度条效果的实现代码
  8. mysql分区(partition)
  9. java调用银海社保接口_[开源] C# 封装 银海医保的接口
  10. 网络直播不应只是秀场,新的场景机会在哪?