js逆向--某上爬刷题平台系列-topic6(脱敏版)

声明

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

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

〇:友情提示

  1. 本文章已在微信公众号【逆向学习日记】发布,若在【优快云】中无法全部查看,可以直接点击【js逆向–某瓜数据专家商品信息解密(脱敏版)】查看。
  2. 在微信公众号【逆向学习日记】也可以阅读更多文章。
  3. 感谢关注微信公众号和阅读文章的朋友!

Ⅰ:目标


  1. 网址:aHR0cHM6Ly9zdHUuZGVtby5jbi9wcm9ibGVtLWRldGFpbC82Lw==
  2. 目标:正确答案/最终总数

Ⅱ:抓包分析


  1. 首先我们通过抓包分析,观察请求头,请求参数,响应体以及调用栈。在这里插入图片描述在这里插入图片描述在这里插入图片描述

  2. 可以看到请求头的S、Tt是需要指定如何得到的,以及响应体如何解密成明文的,我们直接根据调用栈分析,在loadPage处打上断点,触发请求。在这里插入图片描述在这里插入图片描述

  3. 首先我们看请求头,可以看到hhh对象就包含我们需要的值,观察右边的作用域发现hhh只在全局作用域中,那么我们可以直接搜索hhh或者window.hhh。在这里插入图片描述

  4. 通过搜索得到,hhh中的tt就是时间戳,而s是通过window.xxoo处理得到的,并传入"sssssbbbbb"+时间戳 参数。此时我们需要知道xxoo的函数逻辑。此时断点打在xxoo上,重新发送请求。在这里插入图片描述

  5. 程序停止断点处,此时我们直接单步调试【这里面代码很复杂,我们直接单步调试,只看关键步骤】。在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

  6. 到了这里,我们发现有4组很特别的数字,我们直接转成16进制。在这里插入图片描述

  7. 这很明显是MD5和SHA1的魔数字,但是SHA1的魔数字是5个,这里只有4个,那么大概率是MD5,因为我们不知道是不是标准的MD5,此时,我们需要测试xxoo是不是标准的MD5,此时重新发送请求,使window.xxoo被初始化,方可调用。在这里插入图片描述

  8. 通过测试,可以肯定xxoo就是标准的MD5函数,此时,我们需要看响应体的解密逻辑。我们通过代码发现他是fetch对象【异步】发送的,那么就知道它返回的是一个Promise对象,并且是链式调用,可以知道第一个then 也返回的Promise对象,如果没有报错那么就会到第二个then中,报错就走catch,此时我们在2处打上断点,并释放之前的断点。在这里插入图片描述

  9. 可以看到走到了第二个then里面,此时我们需要看xxxoooo函数是什么,直接单步调试。在这里插入图片描述

  10. 可以看到这很明显是AES的CBC模式加密,此时我们只需要再次验证即可。在这里插入图片描述在这里插入图片描述

  11. 此时响应体的解密算法搞定,只需要写代码算出最终的值即可通过。在这里插入图片描述

  12. 最终的代码,各位自行实现。

Ⅲ:总结


目前而言,本题还是很简单的,对于大佬来说不值一提,写这类文章主要是想给入行逆向工程师的阅读的,希望大佬些阅读之后,不要介意哈。需要具体调试,公众号【逆向学习日记】回复【某上爬topic6】获取地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值