该网站的以下四个部分加密逻辑一样,只需要改变加密参数即可:定点医疗机构查询,定点零售药店查询,医疗机构查询,药品分类与代码查询

解析方法:webpack打包,SM2,SM4加密方式

话不多说直接上案例

1.分析数据接口

在请求负载中 如图所示

显而易见,加密参数为encData和signData,且分别是SM4和SM2加密。

然后其中的 timestamp一看就是时间戳,appCode一般就是常数不用管

在响应数据中 如图

我们只需要将数据逆向出来,得到我们想要的数据即可,所以我们只需要破解 encData的解密。

所以我们大致的流程就是:

        1.找到 encData和signData 的加密位置并逆向出来(使用检索关键词即可)

        2.发送请求获取到响应加密值encData

        3.找到encData的解密位置并逆向出来

2.逆向signData和encData

1.signData的逆向解析

检索encData或signData 就能找到加密位置,很简单,如图

然后我们将对应的代码扣到我们的nodejs中

t就是function(t) 中的t 我们在断点断住后 copy下来即可

注意:在扣函数的过程中报错基本上都是参数未定义,我们找到源函数的位置找到复制下来即可。

接着运行,会报以下错误

o没有定义,所以我们到源代码中去找o的位置,发现就在上面不远,如图

这种形式的数据格式基本上就能确定是webpace打包了,这里我简单说说解决步骤

        1.定位到 r = n("68b2")这一行

        2.刷新页面让断点停住

        3.进入n里面,里面是一个自执行方法

        4.不想麻烦就直接全扣下来(有7w多行代码)

        5.最后导出就行,方法如下

易错:继续运行会报 d 未定义的错误,我们回到源代码也检索,"  d =   ",就上下找找会找到两个

        1.   d = e.from(d, "base64").toString("hex")

        2.  , d = l.privateKey;

我们分别打上断点观察最后d的赋值时哪个,发现最后d的赋值时第一个

然后我们去找e的赋值,找不到。我们来检索”  e =   “,发现还是根本找不到,这时候我们可以看看该函数参数的传递,看看e是不是这样传入的,结果还真是.  如图所示

将e的webpack打包导出

2.encData的逆向解析

encData的加密位置就在signData的下面,一下就找到了

我们将运动的代码扣下来,然后运行

这里报错都只需要补函数或者参数或者包即可,如图所示一下常数和包,扣下来就行

效果如图所示:

3.逆向响应加密值的解密

1.找到解密函数的位置

这里一有两个办法:

        1.xhr断点调试,一步一步运行下去找到解密位置

        2.直接搜索json.parse  因为最终的结果肯定是字典型数据

经测试两种办法都行

结果如图所示

2.逆向

第一步都是先将代码扣下来

运行后发现只需要补充两个常数即可,比较简单

如图所示

4.用python运行代码

我们传入的参数t在python中的设置

时间戳和false 改成如图

负载也一样要传入对应的参数 如图

最后读取一次js代码将获取的响应加密值解密

如图所示

注:定点医疗机构查询,定点零售药店查询,医疗机构查询,药品分类与代码查询 这几个不同的页面的加密方式都是一样的,只是加密的参数有细微差别

这是定点医疗机构查询,定点零售药店查询,的参数设置

这是医疗机构查询,药品分类与代码查询,的参数设置

想要获取对应数据改变这个data即可,以上就是全部了,感谢观看。

代码用途
本代码仅供学习、研究和交流使用,禁止用于任何商业用途或非法用途。使用者应对其行为负责,作者不对代码的滥用或不当使用承担任何责任。

学习网站参考:

国家医保服务平台js逆向(SM4+SM2)_医保 逆向-CSDN博客https://blog.csdn.net/AngrySnack/article/details/130049525?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522142297966a53cfae6714a17cd4325532%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=142297966a53cfae6714a17cd4325532&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-130049525-null-null.142^v102^pc_search_result_base5&utm_term=%E5%9B%BD%E5%AE%B6%E5%8C%BB%E4%BF%9D%E6%9C%8D%E5%8A%A1%E5%B9%B3%E5%8F%B0%E9%80%86%E5%90%91&spm=1018.2226.3001.4187Webpack--入门只看这一篇就够了(图文+代码)-CSDN博客https://blog.csdn.net/weixin_46714216/article/details/140741361?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522a586116c1ceed2b831db8b635eb4c117%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=a586116c1ceed2b831db8b635eb4c117&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-140741361-null-null.142^v102^pc_search_result_base5&utm_term=webpack&spm=1018.2226.3001.4187

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐