JS逆向系列20-某鱼sign分析

admin 2025年5月5日23:06:44评论0 views字数 1418阅读4分43秒阅读模式

0x00 前言

趁五一结束前再更新一篇文章,我突然意识到我好像很久没发关于逆向的文章了,所以今天就来更一篇针对某鱼的sign分析,难度为简单,初学者可以看一看这篇文章。

0x01 正文

打开某鱼:

JS逆向系列20-某鱼sign分析

打开F12并搜点东西:

JS逆向系列20-某鱼sign分析

随便复制一个商品名,然后确认一下调的是哪个接口:

JS逆向系列20-某鱼sign分析
JS逆向系列20-某鱼sign分析
JS逆向系列20-某鱼sign分析

可以看到sign,将请求转为py代码,看看是不是sign作验证的。

复制curl格式:

JS逆向系列20-某鱼sign分析

访问https://curlconverter.com/

JS逆向系列20-某鱼sign分析

将刚刚复制的curl语句粘贴到框里:

JS逆向系列20-某鱼sign分析

复制下来并执行:

JS逆向系列20-某鱼sign分析

调用成功,现在修改一下sign的最后一位:

JS逆向系列20-某鱼sign分析
JS逆向系列20-某鱼sign分析

执行:

JS逆向系列20-某鱼sign分析

确认是通过sign进行验证的,回到chrome查看请求参数:

JS逆向系列20-某鱼sign分析

参数有点多,直接搜固定参数appKey:

JS逆向系列20-某鱼sign分析

可以看到sign,打个断点验证一下是不是这里:

JS逆向系列20-某鱼sign分析

确认是这里,分析一下代码:

JS逆向系列20-某鱼sign分析

sign是用下面这段代码生成的:

k = i(d.token + "&" + j + "&" + h + "&" + c.data)

看一下d.token是什么:

JS逆向系列20-某鱼sign分析
c570e4c7ea83f2e23cf914ed494e3ed7

查一下请求有没有携带这个值:

JS逆向系列20-某鱼sign分析

看来是cookie,键为_m_h5_tk,我们把cookie清除了看看是哪个接口设置的这个键:

JS逆向系列20-某鱼sign分析

刷新:

JS逆向系列20-某鱼sign分析
JS逆向系列20-某鱼sign分析

确认是我们获取商品的那个接口设置的_m_h5_tk,继续看下一个参数:

JS逆向系列20-某鱼sign分析

j为时间戳:

j = (new Date).getTime()

h:

JS逆向系列20-某鱼sign分析

h为固定值appKey:

JS逆向系列20-某鱼sign分析

c.data:

JS逆向系列20-某鱼sign分析

放掉查看请求:

JS逆向系列20-某鱼sign分析

确认c.data为请求体,最后看一下代码把拼接后的字符串传递给的i函数内部做了什么:

JS逆向系列20-某鱼sign分析
JS逆向系列20-某鱼sign分析

说实话,这看着就像md5加密,拿上面的数据拼接加密看看是否是请求的sign。

_m_h5_tk47a31b745f9a96f2343a66aca3e03f72

j:1746346593869

h:34839810

c.data:{"pageNumber":1,"keyword":"手机","fromFilter":false,"rowsPerPage":30,"sortValue":"","sortField":"","customDistance":"","gps":"","propValueStr":{},"customGps":"","searchReqFromPage":"pcSearch","extraFilterValue":"{}","userPositionJson":"{}"}

拼接:

47a31b745f9a96f2343a66aca3e03f72&1746346593869&34839810&{"pageNumber":1,"keyword":"手机","fromFilter":false,"rowsPerPage":30,"sortValue":"","sortField":"","customDistance":"","gps":"","propValueStr":{},"customGps":"","searchReqFromPage":"pcSearch","extraFilterValue":"{}","userPositionJson":"{}"}

放掉看一下请求的sign:

JS逆向系列20-某鱼sign分析
0c89316a2479ddce8fe42bffaa941bbf

md5加密刚刚拼接的字符串:

JS逆向系列20-某鱼sign分析

验证为md5加密。

脚本编写:

JS逆向系列20-某鱼sign分析

将搜索的关键字修改为电脑测试一下:

JS逆向系列20-某鱼sign分析

执行:

JS逆向系列20-某鱼sign分析

成功请求。

原文始发于微信公众号(Spade sec):JS逆向系列20-某鱼sign分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月5日23:06:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   JS逆向系列20-某鱼sign分析https://cn-sec.com/archives/4028860.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息