【软件测试】某城商行手机银行授权漏洞分析黑客攻击,测试优化手段......

news2024/11/16 17:35:49

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

问题描述
据报道,某黑客通过软件抓包、PS身份证等非法手段,在某城商行手机银行APP内使用虚假身份信息注册银行Ⅱ、Ⅲ类账户。

其操作方法具体来说,是在注册账户过程中,先输入本人身份信息,待进行人脸识别步骤时,利用软件抓包技术将银行系统下发的人脸识别身份认证数据包进行拦截并保存。

而后,在输入开卡密码步骤,将APP返回到第一步(上传身份证照片步骤),输入伪造的身份信息,并再次进入到人脸识别的身份验证步骤,此时,再上传此前拦截下来的包含其本人的身份信息数据包,使系统误以为要比对其本人的身份信息,然后用本人人脸通过银行系统人脸识别比对,使得成功利用虚假身份信息注册到银行账户。

通过这种操作,成功注册银行Ⅱ类账户76个,然后将包括身份证号、银行卡号、绑定的手机号在内的账户信息打包卖给其他人,共获利22010元。也导致此城商行从19年1月18日至今一直关闭手机银行APP软件中Ⅱ、Ⅲ类账户开户链接功能。

问题分析
水平越权缺陷漏洞是Web应用常见的业务逻辑漏洞之一。
它的形成原因是由于服务器端对客户提出的数据操作请求过分信任,忽略了对该用户操作权限的判定。

攻击者使用一个合法账户,即可对存在越权缺陷漏洞的其他账户数据进行非法的操作,例如查询、插入、删除、修改等常规数据库命令。用户名或者用户ID是Web程序用来判断对哪个账户的数据进行操作的依据,这个参数如果通过客户端来提交,并且Web应用未对该参数做检查校验的情况下,通过修改请求数据中的相应字段则实现越权数据操作。

服务器端系统仅仅对该关键字段进行匹配,并没有验证该关键字段是否属于发起请求的账户,此项安全策略的缺陷就是越权数据操作漏洞的产生的原因。针对该漏洞的攻击者修改请求中的某些关键字段后提交数据,就可以对任意用户的数据进行操作。

通常在实际的Web应用中,不一定是用户名或者用户ID作为数据操作的判断字段,还有可能是其他一些字段。无论是什么字段,存在越权数据操作漏洞的Web应用都没有对它们的账户归属进行判断,没有确认发起请求的账户是否具有操作该数据的权限就允许了数据库去执行相应命令。

测试手段
在越权漏洞检测方法中,测试人员使用两个以上用户账号,比如使用两个浏览器分别登录两个账号,互相测试是否能对另一方的用户数据进行越权操作。测试人员需要对比testl账户和test2账户的身份识别参数,确保将testl账户的数据操作请求中所有身份识别参数修改为test2账户对应数值。

如果test2账户提交数据能够操作成功;则标记此为水平授权漏洞。

系统优化方式
系统为了防止水平越权漏洞,建议防篡改设计,即客户端发起联机交易点击下一步预处理,服务端产生一个交易流水号,将流水号与交易信息(客户号、身份信息等)存入缓存服务器redis中,客户端提交时传入流水号及交易信息,服务端进行交易数据校验。如校验数据不一致,则判为数据被篡改,直接返回并提示客户。

接下来再说说做测试遇到线上问题怕背锅?
一直有线上问题不可怕,可怕的是一直有同一类型的线上问题。遇到线上问题时,你是讳莫如深,还是直言不讳呢?相信大部分人还是很担心翻车的,认为翻车是自己能力不足的体现。

但是线上问题并不是一无是处的,他们是一个宝贵的学习机会。
首先可以反映出我们流程中哪一步做的不足,需要改进;
其次可以将这些问题记录下来,补充到wiki中分享给其他同学,下次测试相似功能的同学可以在测试用例中补充该测试点。

线上问题的来源可能是客服反馈的问题、线上灰度时发现的问题、业务团队通过数据分析发现的问题或者是技术团队监控报警的问题。

当我们从各方收到疑似线上问题时,就要分析是bug导致、操作问题、外部原因、还是需求如此。如果是bug导致,就要立即成立临时小组,包括相关的业务、产品、开发、测试和运维人员。

开发同学需要及时在群里同步定位情况和解决进度。如果需要发布hotfix版本,需要和测试沟通,提前协调测试环境和准备测试数据。同时,需要找上一级开发领导审查改动的代码,确认可以解决该问题并且影响范围可控(或者在改动前多方一起设计改动方案)。

上线后,技术人员从监控中验证和观察服务状态,业务人员从业务数据中观察线上情况。如果是由于最近一个版本导致的P0级别的问题,但是一时半会儿无法想到解决方案,或者解决方案可能需要比较长时间的验证,那评估是否需要通过回滚代码解决。

如果需要回滚代码,需要同步该版本的业务和产品,需要同步上下游系统该版本的功能撤销,可能导致新功能下线等。

到这里就完了吗,并没有。
线上问题解决后,相关的人员需要尽快再开个小会,复盘整个问题的经过、解决方式和改进措施,以及总结各方是否有应对不及时的情况。针对改进措施最好建立任务追踪并分配到人。

如果严重级别较大,还需要拉上项目组人员一起参与。复盘的结果文档需要同步到项目组群里,并且最好保存在一个线上问题文件夹中。
大家时不时回顾一下这些问题,加深印象,降低之后出现类似问题的概率。这才是线上问题的价值。

出现线上问题之后,第一时间修复问题很重要,同时也需要做好总结复盘,否则下次还是有可能掉进同一个坑。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生需要不断地奋斗,即使面对一个又一个的困难,也不要灰心丧气,更加不要气馁。人生的路,需要一步一步往前走,即使前面有泥泞坎坷,也要匍匐前进。相信只要前进的勇气在,的就在。新的一天,继续奋斗。

不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的已经和从前不一样了。

让自己的生活多一种可能,给自己的未来多一份惊喜,人生所有的和惊喜,都是在你全力以赴的道路上遇到的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/184651.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【FreeRTOS】详细讲解FreeRTOS的软件定时器及通过示例讲述其用法

软件定时器 所谓定时器,也就可以类比生活中人们常用的闹钟,可以单次响铃提醒,也可以间隔固定时间响铃提醒;与FreeRTOS定时器不同的是周期不同,FreeRTOS的周期更加短,一般使用毫秒(ms)、秒(s)。   软件定时…

Python的数字类型、布尔类型和运算优先级

文章目录1.数字类型1.1分类1.2整数1.3浮点数1.4复数2.数字运算符2.1运算符表格2.2 运算符 //3.divmod()函数4.abs()函数4. int(),float() 和 complex() 函数5.pow()函数和运算符 **6.布尔类型6.…

NB-IoT的低功耗特性原理解说

什么是NB-IoT NB-IoT的中文名叫窄带蜂窝物联网(Narrow Band Internet of Things),NB-IoT网络是基于4G网络演进过来的,所以它在上行和下行的复用技术上还是沿用了4G的OFDMA和SC-FDMA。NB-IoT有三大特性:速率低,成本低,…

电脑风扇声音大怎么办?具体原因以及解决措施,快速解决

​很多小伙伴使用台式电脑,使用的时间长了,电脑机箱里的风扇就会发出一些噪音,很影响小伙伴的整体使用体验。电脑风扇声音大怎么办?具体的原因以及解决措施有哪些?下面就跟着小编一起来看看吧。 一、电脑风扇声音大的原…

数据挖掘,计算机网络、操作系统刷题笔记39

数据挖掘,计算机网络、操作系统刷题笔记39 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,orac…

Kibana最新版8.6.1安装教程

Kibana 让您能够自由地选择如何呈现自己的数据。不过借助 Kibana 的交互式可视化,您可以先从一个问题出发,看看能够从中发现些什么。查看完整的 Kibana 功能列表https://www.elastic.co/cn/kibana/featuresKibana的下载地址:https://www.elas…

有状态/无状态认证

文章目录一、什么是有状态认证?二、什么是无状态认证?(token)三、无状态分布式认证解决方案一、什么是有状态认证? 有状态认证,即服务端需要记录每次会话的客户端信息,从而识别客户端身份&#…

几种最小二乘法及python代码:ELS、TLS、RLS

1.ARMAX模型 下面各章节,我就是使用上面公式的符号,其中y是输出,u是输入,e是噪声。有m个输出y,r个输入u。 进一步精简为: YPθE 其中:Y为要预测的部分,P为已知数据(包…

k8s添加node节点和master节点

一.准备1.基本概述版本:kubelet:v1.20.4docker: 20.10.23资源:cpu:8mem:16kernel:3.10.0-1160.71.1.el7.x86_64镜像仓库地址:registry.cn-hangzhou.aliyuncs.com/google_containers/…

大部分人都容易焦虑,那么应该如何对待焦虑呢?

新年伊始,告别喜庆欢乐的春节,大家应该已经投入到正常的工作当中去了。面对节后的开工,难免都会有点焦虑,因为大多数人还沉浸在春节喜悦的回忆当中,回忆都是美好的,因为回忆中是带有感情的,美好…

总投资30亿、算力500P,宜昌先进计算产业可持续发展之路

近日,国家先进计算产业创新(宜昌)中心项目工程总承包和委托运营(EPCO)中标结果公示,由中科升哲数据科技有限公司联合重庆市设计院有限公司、中讯邮电咨询设计院有限公司、中国化学工程第十六建设有限公司组…

multipart/form-data 在低版本spring和webFlux中的解析

背景 最近在做一个技术项目的迁移,将老的springMVC项目迁移到SpringWebFlux项目中,在流量迁移过程中发现有一个业务方传过来的参数新项目拿不到,究其原因是老版本的spring解析器和新版本的解析器对multipart/form-data类型的contentType解析…

《深入浅出计算机组成原理》学习笔记 Day14

数据通路(下)1. PC 寄存器的实现2. 读写数据所需要的译码器3. 数据通路完整实现4. 总结参考1. PC 寄存器的实现 PC 寄存器又名程序计数器(Program Counter)。 PC 寄存器由两个部分组成: 时钟信号。提供定时的输入&a…

刚来的00后太卷了,上班还没2年,跳到我们公司起薪25k....

都说00后躺平了,但是有一说一,该卷的还是卷。 这不,前段时间我们公司来了个00后,工作都没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了…

Arthas 入门到实战(四)arhtas idea plugin集成插件

前言: Arthas 官方的工具还不够足够的简单,需要记住一些命令,但是我们需要的是一个能够简单处理字符串信息的插件即可使用。当在处理线上问题的时候需要最快速、最便捷的命令,因此插件还是有存在的意义和价值的。 一、idea插件安…

Blender 粒子系统

文章目录简介.添加粒子系统.属性.自发光(发射).源.烘焙(仅发射体).速度(仅发射体).旋转(仅发射体,除非毛发系统开启了高级属性).物理(仅发射体).毛发动力学(仅毛发).渲染.路径.视图显示.子级.簇集.糙度.扭结.力场权重.顶点组.粒子编辑.渲染毛…

GraalVM和Spring Native尝鲜,一步步让Springboot启动飞起来,66ms完成启动

简介 GraalVM是高性能的JDK,支持Java/Python/JavaScript等语言。它可以让Java变成二进制文件来执行,让程序在任何地方运行更快。这或许是Java与Go的一场战争? 下载安装GraalVM 安装GraalVM 首先到官网下载,我是直接到GitHub Re…

7-2输入/输出系统-I/O方式

文章目录一.程序查询方式二.程序中断方式三.DMA方式1.传送过程2.DMA控制器(DMAC)的内部结构3.DMA传送方式(1)停止CPU访问主存(2)DMA与CPU交替访存(3)周期挪用/周期窃取4.DMA方式的特…

基于改进粒子群算法的混合储能系统容量优化(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

css特性(继承、层叠、优先级)

1、继承性 特性: 子元素有默认继承父元素样式的特点(子承父业) 可以继承的常见属性(文字控制属性都可以继承) colorfont-style、 font-weight、 font-size、 font-familytext-indent、text-align、line-height … 注意点: 控制字的都能继承 可以通过调试工具判断样式是否可以…