APP接口自动化加密实战

在自动化测试中经常会遇到的一个痛点就是,报文传输加密.有一些系统,从安全的角度考虑,后端是无法解析明文的,必须收到的是密文然后解密,才能做下一步操作.在测试环境,有些后端改个参数,可以实现接收明文,但是也有一些系统,必须修改大量代码,才能实现接收明文的效果,而做自动化测试的一个原则之一便是 尽量不要因为做自动化而让开发修改代码 .今天以我司手机银行app为例, 讲解报文加密问题解决的方法.加密类型分析一般手机银行的APP加密可以分为: 登录密码加密, 报文传输加密, 支付密码加密.登录密码加
摘要由CSDN通过智能技术生成

在自动化测试中经常会遇到的一个痛点就是,报文传输加密.

有一些系统,从安全的角度考虑,后端是无法解析明文的,必须收到的是密文然后解密,才能做下一步操作.

在测试环境,有些后端改个参数,可以实现接收明文,但是也有一些系统,必须修改大量代码,才能实现接收明文的效果,而做自动化测试的一个原则之一便是 尽量不要因为做自动化而让开发修改代码 .

今天以我司手机银行app为例, 讲解报文加密问题解决的方法.

加密类型分析

一般手机银行的APP加密可以分为: 登录密码加密, 报文传输加密, 支付密码加密.

  • 登录密码加密
    登录密码一般都是调用国密插件加密,我们无法模拟.
    解决方式是从日志里捞加密后的密码密文,直接重复使用密码密文. 对GM加密莫式管用, G1加密模式不管用.
    模拟登录的最终目的是为了拿Cookie. 如果无法模拟登陆,那就人工登录, 抓报文,获取Cookie,在后续接口调用中使用. 并且要项目组在测试环境延长Cookie有效期.

  • 报文传输加密
    如果服务端不能直接接收明文,那就只能模拟项目组的客户端加密代码,由我们自己写代码实现,并部署在内网服务器. 自动化平台发送报文给我们的加密服务器,加密后转发给app后端服务器

  • 支付密码加密
    支付密码也是调国密控件直接加密.测试环境默认支付密码都一样,可以从日志里捞加密后的密码密文,我们直接重复使用密码密文.

登录密码

接口自动化中,用户之所以需要登录app,是为了拿到Cookie方便后续接口使用. 那么在登录密码调用安全控件无法模拟的情况下,可以直接写个配置单,给后续接口调用.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值