首页 > 其他分享 >国家医保服务平台js逆向(SM4+SM2)

国家医保服务平台js逆向(SM4+SM2)

时间:2023-04-09 22:46:42浏览次数:34  
标签:调用 加密 SM4 SM2 js webpack 参数 解密 扣取

网站:

aHR0cHM6Ly9mdXd1Lm5oc2EuZ292LmNuL25hdGlvbmFsSGFsbFN0LyMvc2VhcmNoL21lZGljYWwtc2VydmljZT9jb2RlPTkwMDAwJmZsYWc9ZmFsc2UmZ2JGbGFnPXRydWU=

接口分析

通过接口分析可以看到加密参数分别在headers和data都进行了加密。

寻找加密点
1、headers参数

参数搜索,将加密key进行搜素,找到了两个位置,分别打上断点,进行重新请求

从图中可以看到参数中的加密参数也在此处。headers加密只需要解密r(f),h=Object(i.a)()就行

r函数分析

r=n("6c27").sha256

看到n("6c27")想到了webpack,js从头看,看到exports和call发现确实是webpack

搜索6c27看到这个入参有点不一样,不能直接使用调用的方式,因此直接进行了扣代码

从createOutputMethod直接向下扣,一直到finalize

从图中可以看到sha256直接是用createMethod调用,因此直接将此处的createMethod定义为r。

Object(i.a)()函数扣取

代码跳转后可以看到调用的是1602的代码,可以直接通过扣取i()函数或者使用webpack调用来实现

直接将o用fff来调用,可以看到都能满足需求

此时headers中的随机参数已经完成,接下来进行固定参数的构造以及返回,大致如图所示

param参数

param参数中的appCode也为定值,因此只需要分析signData和data里的encData

signData

signData中的m,p,v直接跳转扣出来就行

主要说下o.doSignature和e.from

选中后跳转,看到此处调用n,不能直接调用,那么使用webpack全部扣,同时将所有的交叉调用抠出来,大致需要这么多

e.from的e

此处需要注意的是,不能直接将它全局后调用,需要先调用它的Buffer

encData和signData类似,不展开

解密

从返回值可以看出,请求后是加密值,寻找解密点

可以在刚才的基础上一直单步找到解密的点

也就是Object(c.b)("SM4", e.data)函数,此处和上面的调用方式一致,选择webpack扣取,也就是g函数。图中的e、s.decrypt扣取和上面的一致。

可以看到解密也是ok的。

关注公众号“码字的秃猴”回复:国家医保 获取

标签:调用,加密,SM4,SM2,js,webpack,参数,解密,扣取
From: https://www.cnblogs.com/FlowerNotGiveYou/p/17301335.html

相关文章

  • gis经纬度坐标转换多格式兼容:支持字符串/数组/GeoJSON
    格式let coordinatesStrReg = /((-*[1][0-9]{0,2}|0)(\.[0-9]{1,6})*),\s{0,2}((-*[1-9][0-9]{0,1}|0)(\.[0-9]{1,6})*)/gstr.replace(coordinatesStrReg, (str, $1, $2, $3, $4, $5) => {  // lat=$1 lng lat=$4  console.log($1, $4)})代码,https://w......
  • 获取全国GeoJSON和各省市GeoJSON数据下载
    第一,从阿里云下载:http://datav.aliyun.com/tools/atlas/#&lat=33.50475906922609&lng=104.2822265625&zoom=4全国轮廓数据,26KB,省市轮廓256KB这个最简便,但是轮廓不是太清晰,直接从高德百度地图获取高德地图获取地图边界数据https://lbs.amap.com/api/javascript-api/reference-......
  • 百度高德地图JS-API学习手记:地图基本设置与省市区数据加载
    无论是百度还是高德地图开发,还是高德地图开发。官方的给的案例启示很多,copy再修改下,就完成了https://lbs.amap.com/api/javascript-api/summary  http://lbsyun.baidu.com/index.php?title=jspopular3.0这个大致看一下,我想。有点GIS基础都能完成地图开发。个人认为百度的文档......
  • 百度高德地图行政区域边界GeoJSON数据获取并绘制行政区域
    highcharts是提供地图数据包的:https://www.highcharts.com/docs/maps/map-collectionechart矢量地图或者地图绘制矢量图层,GeoJSON哪里提供呢?dataV提供数据下载,http://datav.aliyun.com/tools/atlas/#&lat=30.332329214580188&lng=106.75386074913891&zoom=4.5这些数据也是从高......
  • axios写了前端,如何从后台获取到List列表数据(涉及到JSON)
    问题描述我将前端写完之后,一直没有理解axios后台的写法,导致进度一直拖慢,这里我就来叙述一下我后来是怎么写出后台代码的吧,或者说,这样的后台代码是怎么写出来的!问题解决经过友友的点拨,这里就需要将我们的list数据转换成json数据;然后将转换好的json数据传到axios写出来的html页......
  • ReactJS到React-Native,架构原理概述
    React是一个纯JS的UI库,只能干HTML/CSS/JS提供的Web服务(新的H5API不一定支持), React-Native厉害在于它能打通JS和NativeCode,让JS能够调用丰富的原生接口,充分发挥硬件的能力,实现非常复杂的效果,同时能保证效率和跨平台性。在一定程度上,ReactNative和NodeJS有异曲同工之妙......
  • Ubuntu安装nodejs以及版本管理器n
    这里源仓库的地址1.找个版本并执行脚本这里以v18为例curl-fsSLhttps://deb.nodesource.com/setup_18.x|sudo-Ebash-&&\sudoapt-getinstall-ynodejs2.安装nsudonpmi-gn3.使用n安装nodejs各个版本sudoninstallv12sudoninstallv18sudoninstalll......
  • 第136篇:Three.js基础入门动画API:setInterval 与 requestAnimationFrame的区别
    好家伙,书接上文 functionanimate(){//请求-动画-框架requestAnimationFrame(animate);//改变正方体在场景中的位置,让正方体动起来cube.rotation.x+=0.01;cube.rotation.y+=0.01;renderer.render(......
  • js开发规范
    ####################### 1.缩进[强制] 使用4个空格做为一个缩进层级,不允许使用2个空格或tab字符。[强制] switch中缩进2个空格[强制] 要求分号前面不可以有空格,后面可以有空格[强制] 要求语句块之前保留一个空格[强制] 关键字和类似关键字前后保留一个空格[......
  • JS引擎(1):JS引擎擂台赛,JavaScript引擎的特征比较及术语科普
    上篇介绍过JavaScript引擎的历史,《JS引擎(0):起底各种JavaScript引擎群雄争霸之路》一些流行的JavaScript引擎SpiderMonkey ,BrendanEich在Netscape创建,由C/C++语言开发,可适配ECMA-262Edition5及其之后的标准版本Rhino,由NorrisBoyd(归属Netscape)创建,则是一个Ja......