javascript逆向--PyExecJS模拟执行破解compress加密网站(11)

一.digikey网站分析

  下面结合digikey网站的案例来分析:访问:https://www.digikey.cn/zh/products/filter/logic/buffers-drivers-receivers-transceivers/704 这个网站。通过浏览器开发工具知道,参数过滤是通过ajax的https://www.digikey.cn/products/api/v4/filters/704?s=N4IgjCBcpgbFoDGUBmBDANgZwKYBoQB7KAbRACYAWATgHZyAGEAXQIAcAXKEAZQ4CcAlgDsA5iAC+UoA  get获取到的, 其中的参数s是通过加密的。

1.javascript逆向的调试分析

    步骤1:添加XHR的断点,也就是ajax的地址,如下所示

     步骤2:在浏览器中刷新上面的访问地址,此时会自动在下面的get下的匿名处点击,代码跳到了左边处,此时createSParam方法是关键入口。

     步骤3:在createSParam处断点,按F9跳进去,代码如下所示:

    createSParam(e) {
                const t = v.cleanDictionary(e);
                if (t)
                    return (0,
                    l.encodeUrlStateString)(t)
            },

    步骤4:在encodeUrlStateString中,按f9跳进去,如下

      t.encodeUrlStateString = e=>i.default.compressToEncodedURIComponent(JSON.stringify((e=>v(0, e))(e)));

      其中 JSON.stringify((e=>v(0, e))(e))的字符串内容为:{"1":{"16":{"c":false,"o":["228986"],"pt":"String"}}} ,如下所示,o数组的值是点击规格的参数id值: 

    步骤5:经过分析compressToEncodedURIComponent 方法是LZString库提供的,github库地址如下: https://github.com/pieroxy/lz-string/

       最终得出s的加密参数

 

     

 

posted on   花阴偷移  阅读(155)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2018-09-11 mysql 开发进阶篇系列 40 mysql日志之二进制日志下以及查询日志

导航

点击右上角即可分享
微信分享提示