记一次某产品WEB端登录密码加密分析

admin 2022年1月3日03:35:48评论90 views字数 664阅读2分12秒阅读模式

Winter

Solstice

点击蓝字 关注我们

前言

特别声明:

本篇文章只用来作为技术分享,请勿将此技术用于违法活动上。不得将以下内容用于商业或者非法用途,否则,一切后果请读者自负。

再次声明,仅供学习研究。

如有侵权,请立刻后台联系我删除。

正文

抓个包,一眼就看到大大的/x/xxlogin/x/x

记一次某产品WEB端登录密码加密分析


看看数据,来源+明文账号+密文密码+跳转链接+验证码数据,听标准的一个登陆口子。

记一次某产品WEB端登录密码加密分析


验证码数据token/challenge/validate/seccode都是联网交互返回的,没啥加密的,不作分析。直接来看password字段。为了方便追js栈,去DevTools里抓一波,发现调用堆栈还挺多,并且函数名还做了混淆。


记一次某产品WEB端登录密码加密分析

不过疑似关键处的地方不知道为啥没混淆。

记一次某产品WEB端登录密码加密分析


最开始的那个疑似堆栈如下,目测确实是登录模块的起调入口。

记一次某产品WEB端登录密码加密分析


然后跟一下login函数,发现DevTools跟偏了,不过问题不大,上下找一下还是可以找到的。

记一次某产品WEB端登录密码加密分析


其中很明显的一段字段包装语句。

记一次某产品WEB端登录密码加密分析


跟一下encryptPassword函数。

记一次某产品WEB端登录密码加密分析


发现似乎是服务器实时生成密钥对然后返回公钥的加密方式。

记一次某产品WEB端登录密码加密分析


因为RSA用公钥加密后的数据是有随机化处理的,所以并不唯一,而没有私钥又没法解密抓包的数据,所以验证咱们加密思路正确的唯一方法就是写个脚本模拟登录。但是我懒得去验证了,就把思路发一下吧,基本上可以确定是对的。接收hash和key,分别作为盐和公钥,然后将hash和密码拼接后RSA一下,就是传递的密码密文。The End


文章已经经过脱敏处理


原文始发于微信公众号(Th0r安全):记一次某产品WEB端登录密码加密分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月3日03:35:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次某产品WEB端登录密码加密分析http://cn-sec.com/archives/716388.html

发表评论

匿名网友 填写信息