方晓佳-就I至诚App存在严重安全性信息泄露问题来讨论

2022/4/7 6:21:44

本文主要是介绍方晓佳-就I至诚App存在严重安全性信息泄露问题来讨论,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

这个作业属于哪个课程 至诚软工实践F班
这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy/ZhichengSoftengineeringPracticeFclass/homework/12580
这个作业的目标 分析软件开发后所存在的一些漏洞bug
学号 212106710

一、就I至诚App存在严重安全性信息泄露来讨论

直接切入重点吧(开头的点缀都略过了)

  • 1、下载并使用,体验各项功能

    I至诚app作为一款校园软件学生每天都必不可少的要使用一下,页面布局整体都还不错,界面协调度也符合我们现在的人使用,功能也是应有仅有,但这么多功能它到底安全吗?

  • 2、BUG/安全漏洞

    按bug等级来划分本次安全性漏洞等级应该达到AAA级font,严重影响了我们学生个人信息的安全,仅仅需一个学号即可获取到你们的相关消息(“你的信息泄露了兄台”)

二、安全性漏洞分析

第一部分 找Bug(黑白盒测试)

  • 1、位于学生服务功能区-学工系统存在严重安全信息泄露

    通过对该区域进行黑百盒测试发现该区域的Post访问协议方式存在一定安全性问题,访问者可以通过修改提交信息中的学号来获取该学号的相关数据信息包括(本人身份证、邮箱地址、手机号、父母工作、父母姓名、父母电话等),并且在协议头中仅需普通访问者,不用登陆访问者的usertoken权限 也可以请求到数据- [ ]

  • 2、黑白盒测试环境

    不得不说I至诚在抓包上还是有一定检测机制的,对于安卓机器、模拟器、以及抓包代理限制都有相关检测,为了这次作业我也煞费苦心各种机器都用过了一遍在模拟器、苹果8spuls、苹果13、安卓机(HUAWEIDUB-TL00)该机型是本次黑白盒测试中 测试出I至诚存在严重的信息泄露,并通过抓包+VPN双代理的方法(小黄鸟-HttpCanary)成功跳过限制并登陆进I至诚获取到相关数据包.

  • 3、Bug安全性的可复现性及带来的“危险”

    该安全性必然会发生只要改学号是存在的,即可获取到相关数据,并且能通过获取到的身份证号后六位尝试I至诚的登陆 获取到该学号登陆权限的最高访问者状态UserToken 即可对I至诚内部所有功能数据的访问,畅通无阻的那种,想要什么数据就可以给你弄什么数据,你说你的信息存在I至诚里面还安全吗?个人隐私是否还有保证?

  • 4、Bug安全性具体情况描述(安全问题,接口不便公开)

    1、通过学工系统的请求接口“https://xg.fdzcxy.edu.cn/xgh5/XXXXXXXXXXX”获取到该学号对应的身份证

    2、对获取的身份证号取出后六位进行学号+密码的登陆尝试,尝试获取访问者权限

    3、获取到访问者权限后又对付款码的数据进行了测试

    4、通过该接口“https://portal-service.fdzcxy.edu.cn/portalCente/xxxxxxxx/xxx”进行get请求并且协议头带上我们刚获取到的访问者权限,进行禁止重定向请求会获取到一个转换后的链接

    5、单独提取该链接进行访问,并且继续在协议头带上Usertoken访问者权限,这样就获取到一串关键数据提取SKEY、USERID,且一起提取返回的cookies 因为下一个接口是通过另外一个访问权限进行的。

    6、通过该接口“https://app.xiaoyuan.ccb.com/LHECISM/xxxxxx”可实现电子钱包余额的数据提取

    7、通过该接口“https://app.xiaoyuan.ccb.com/LHECISM/yxtxxxxx”可以获取生成支付二维码的关键数据,再通过一定的技术手动对获取的数据进行二维码生成 进行消费等还是存在一定安全隐患的,最后给谁消费了都不知道。

    以上是本次这次黑白盒测试出现较为严重的地方。

  • 5、就次安全性问题,提出个人修改建议

    1、对数据进行普通的加密形式,不让数据裸奔再网络上。

    2、协议头可加入一些加密数据,且对请求连接或提交数据有一定关联加密性,不至于普通访问者都可以请求到数据。

    3、条件允许的话建议可以参考小红书的os加密方式基于c++写的魔改md5+魔改rsa+哈希加密 > +HMAC等等 可能这是大厂的加密配置,我对于我们的I至诚仅需满足第二种即可

第二部分 功能分析

  • 1、根据i至诚已有的功能,评估其做到这个程度大约需要多少时间?

    阶段 周数
    需求分析(项目的可行性、竞品分析) 1-2
    原型设计 2-3
    功能模块具体说明 2
    原型、模块功能和客户进行确定是否符合期望 1
    针对不足进行修改 1
    UMI设计 1
    项目设计 2-5
    数据库设计 2-3
    代码开发 10
    代码审核 2
    代码测试 1
    测试报告 0.5
    计算工作量 0.5
    项目发布运维 0.5
    事后总结、改进 1
  • 2、分析这个软件目前的优劣(和微信端的“至诚教务助手”相比),哪个更实用??

1、微信端“至诚教务助手”UI设计总体设计过于简单,只为实现功能为主。这样可以降低一些加载,使微信小程序的高效操作。

2、劣势就是UI设计过于简单。

3、我觉得app会更实用一点再UI设计上比较直观可以很快找到对应的功能,而教务助手中心全都是文字需要一个个去找再比较麻烦。

  • 3、从各方面的问题,推理出这个软件团队在软件工程方面可以提高的一个重要方面(具体建议)?

    安全性问题,可以再提高一点,数据裸奔再网络上确实不应该。

  • 4、你在第一部分发现的bug,为何软件团队不能在发布前修复?他们是不知道,还是有意不修复?你觉得是什么原因?可以从下面的可能性中选取几个:

    1、具体设计质量不高

    2、开发人员粗心大意

    3、测试把关不严,敷衍了事,没有注意在特殊的配置或环境下测试

三、建议和规划

第一部分 市场现状

  • 1、目前市场上是否有其他类似功能的产品、竞品?

    完美校园、校园生活类APP。针对大学生的实用校园应用。主要有课程表,选课,教评等APP,面向高校大学生。

  • 2、上述产品的定位、优势与劣势在哪里?

    优势:安全性比我们的I至诚高,且功能不会太多过于复杂

    劣势:校园软件功能无非都是那几个功能,其主要

第二部分 市场与产品生态

  • 1、产品的用户群体之间是否存在一定的关系?是否有利用其相互作用二次构成特定用户生态的可能性?

    是的,就比如拼多多的商品砍价,每次砍价次数都要发生分享邀请才能获得砍价次数,再发送分享的同时也是为起带进新用户以产生相互推动构成二次特定的用户。

第三部分 产品规划

  • 角色配置

    一个前端、一个后端、一个数据库、一个协助开发、一个负责文档、一个负责测试、项目分析

  • 项目进度安排

时间 任务
第一周 需求分析、用户调研(确定项目的可行性、竞品分析等)
第二周 需求复审、原型设计、编写软件规则说明书
第三周 对第二周内容交于客户查看产品是否符合客户的期望,对不足地方在进行修改
第四周 UML设计、项目设计、数据库设计
第五周 搭建开发环境、确定编码规范、进行系统概要设计
第六周 对功能模块、功能分配、功能接口、接口设计、运行设计等进行详细文档说明
第七周 对第六周的不足做改进
第八周 代码开发,通过设计文档开发自己对应的模块
第九周 代码开发,通过设计文档开发自己对应的模块
第十周 代码开发,通过设计文档开发自己对应的模块
第十一周 代码开发,通过设计文档开发自己对应的模块
第十二周 测试,对单个模块、接口进行安全性测试和集成测试
第十三周 发布测试版本,小范围的进行测试并其进行黑白盒测试
第十四周 修复测试中存在的bug,已经不足的地方。
第十五周 整理测试文档,完成最终规则说明书
第十六周 部署产品/发布产品


这篇关于方晓佳-就I至诚App存在严重安全性信息泄露问题来讨论的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程