python-js逆向国家医保服务平台超详细
该网站的以下四个部分加密逻辑一样,只需要改变加密参数即可:定点医疗机构查询,定点零售药店查询,医疗机构查询,药品分类与代码查询
解析方法: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
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)