Selenium 大佬们,第二个 6 位数动态密码怎么处理

路飞 · 2019年07月25日 · 最后由 黑山老妖 回复于 2019年07月28日 · 1722 次阅读

问下大佬。这种绑定手机身份宝获取动态的 6 位数密码。怎么做 UI 自动化

共收到 8 条回复 时间 点赞

自己注释掉这段代码,rd 自测保障质量。

搜一下双因素认证 TOTP 算法吧,只要你有 secretKey,你可以用各种语言生成那个 6 位数验证码

让开发包装一个接口,把六位数放到 response 里面,你直接去获取填上就可以了

让开发针对你的手机号,固定一个验证码

找这个验证码的根源,一般而言是服务端生成的或服务端调接口生成的,在服务端会有这个数据的,可能存在数据库里,可能在缓存中等等,找到它存储的位置,取出来就可以了

实现逻辑一般这样。 前端请求服务端 , 这里请求时会自带一个 imageid,后端会通过 id 返回验证码图片信息,并存储某个通过 image 改造加密后的 id 在缓存中间件,最终当你在前端输入验证码做登录请求的时候,接口层会通过你输入的验证码与缓存中的验证码来对比获取鉴权认证。 这里的关键还是在于你要获取 key 来取值做输入

一般思路就这么几个,1 让开发给你开后门,2 你有办法能够通过其他的方式获取到一样的验证码

无论是图形验证码还是短信验证码,服务器里都有存的,比如存 redis 或者日志,你 ui 脚本点击后,直接去服务器查,查到后输入到页面就行了

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册