某平台登录--请求参数pwd逆向分析(脱敏版)

声明


本文章中所有内容仅供学习交流使用,不得用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关。

若擅自使用本文讲解的技术而导致的任何意外,作者均不负责。文中若有侵权内容,请立即联系作者删除!

〇:友情提示


  1. 本文章已在微信公众号【逆向学习日记】发布,若在【CSDN】中无法全部查看,可以直接点击【js逆向–某公众号平台–登录请求参数pwd逆向分析(脱敏版)】查看。
  2. 在微信公众号【逆向学习日记】也可以阅读更多文章。
  3. 感谢关注微信公众号和阅读文章的朋友!

Ⅰ:目标


  1. 网址:aHR0cHM6Ly9tcC5kZW1vLnh4LmNvbQo=
  2. 接口:aHR0cHM6Ly9tcC5kZW1vLnh4LmNvbS9jZ2ktYmluL2JpemxvZ2luP2FjdGlvbj1zdGFydGxvZ2luCg==
  3. 目标:请求参数 pwd

Ⅱ:抓包分析


  1. 首先我们先进行登录,然后抓包分析。在这里插入图片描述

  2. 我们可以看到pwd是加密了的,其实经验丰富的大佬,看到密文的时候就知道是什么加密了。但是为了学习,我们还是逐步分析。查看调用栈,同样有经验的大佬,肯定会观察调用栈中包含的js文件,一眼就知道loginpage这个js文件有可能,其他的可能都是打包生成的。我们直接在最开始的调用栈打上断点,并重新登录,触发断点。在这里插入图片描述在这里插入图片描述

  3. 此时程序断在我们的断点处,观察其右边的作用域,可以看到本地作用域中u对象含有我们的加密参数,此时我们就要看u是如何赋值的,我们向上观察代码。在这里插入图片描述

  4. 可以看到不管走的哪个分支,对于u的赋值都是和c有关,此时向上观察代码看c的值是如何来的。在这里插入图片描述

  5. 可以看到c是调用该函数传参进来的,此时我们在调用栈上一层打上断点,并重新登录触发断点,观察其参数。在这里插入图片描述在这里插入图片描述

  6. 此时程序断在该处,我们再次观察右边的作用域,发现在其中的一个闭包作用域中e对象含有我们的加密参数pwd,当然本地作用m对象也存在加密参数pwd。根据闭包的现象,那么我们直接在其外部函数观察e对象是否存在,可以看到e对象确实存在,此时直接在外部函数打上断点,重新登录触发断点。【之所以在本地观察,是因为最终还是回到外层函数中断点】。在这里插入图片描述

  7. 此时观察右边本地作用域,发现e对象含有我们的加密参数,此时继续向上观察调用栈并打算断点,重新登录触发断点。在这里插入图片描述

  8. 同样的还是在闭包的作用域发现加密参数,按照上面的步骤直接在外层函数打上断点,重新登录触发断点。在这里插入图片描述

  9. 同样的本地作用域arguments接受了所有的参数,继续在上层调用栈断点,重新登录触发断点。在这里插入图片描述

  10. 观察右边本地作用域可以看到d对象含有加密参数pwd,继续在上层调用栈断点,重新登录触发断点。在这里插入图片描述在这里插入图片描述

  11. 此时可以看到pwd的加密函数,以及控制台测试,确实是该函数加密的。此时只要分析p函数就行,其中r.pwd是我们输入的明文。其中 substr 是一个字符串方法,用于从字符串中提取子字符串。在这里插入图片描述

  12. 我们直接单步进入p函数,并单步调试。在这里插入图片描述

  13. 此时观察x函数是什么,继续单步调试。在这里插入图片描述

  14. 此时看B函数是什么,仍然进行单步调试。以后就是单步调试,我这里就省略了,只贴关键函数就行,各位可自行调试。在这里插入图片描述在这里插入图片描述

  15. 可以看到这些关键的数值,通过百度搜索就是MD5的关键数字。在这里插入图片描述

  16. 我们直接在在线加密工具测试是否为标准的MD5。在这里插入图片描述

  17. 经过测试确定是标准的MD5算法,到此pwd的算法分析结束。同时有些同学也看到 fingerprint 是加密的,他就是浏览器的指纹,这里就暂时不分析了,后续有时间和大家再进行分析探讨。

Ⅲ:总结


以上就是整个逆向分析过程,只要大家逆向的案例多了,有些就能一眼看出大概是什么加密以及关键加密函数位置的调用栈。需要具体调试网页,公众号【逆向学习日记】回复【某公众平台】获取地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值