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 2023-09-11 17:11  花阴偷移  阅读(141)  评论(0编辑  收藏  举报

导航