某局jsvmp算法分析(dunshan.js/lzkqow23819/lzkqow39189)

帮朋友看一个税某局的加密算法。 传送门 (需要帐号登陆的 普通人没授权也看不了)

废话不多说直接抓包开干

在这里插入图片描述

这里可以看到一个headers中的加密参数 lzkqow23819 以及url路径里面的6eMrZlPH(这个有点像瑞数里面的)

还有就是cookies里面的这几个参数 可以验证出来 如果不带上的话 也通过不了校验

{
    "lzkqow39189": "231a7c3a94914127bbd6e6a9bb11f507",
    "DTSwUOYx7MiWN": "d18715cc80dba894f002f109cf084873a97923a06cdba92d37b021dd2a9942eb",
    "refer": "etax.guangdong.chinatax.gov.cn",
    "lzkqow38189": "1744359226393",
    "MKls83gqduGS": "f8f40fd3eb3079003befc674315acd0af295cef9dbf20f9d5799148ef16a04eab3f6c5b587f98a69da784479f02eef51",
    "c_time": "12"
}

在这里插入图片描述

好了 简单分析完毕 我们直接进入正题 先找下加密入口

这里会有个无限debugger的坑在里面 可以参考我以前的文章如何去跳过 传送门:

网络爬虫-绕过debugger反爬(Paused in debugger)

但是这里我们直接用firefox的内置功能即可 一把梭直接过 (实则偷懒- -!)

在这里插入图片描述

这里我们先定位到关键入口函数

在这里插入图片描述

不难发现是把第一次不通过的“dunm_data” 也就是04开头的这一大串字符串拿去跟一系列的环境/url/请求报文等混合在一起做了混淆和校验

我们再往上层回溯过去 可以看到window中一个方法很像加密入口

在这里插入图片描述

然后我们就补环境大法即可 jsdom一把朔搞起来 这里贴部分需要校验的环境(很多坑要踩 比如鼠标移动轨迹 变量检测 console检测等)

window = global;
document = {
};
var _console = console;
Error = function (){};
Navigator = function (){};
screen = {
        availHeight: 1032,
        availLeft: 0,
        availTop: 0,
        availWidth: 1920,
        colorDepth: 24,
        height: 1080,
        isExtended: false,
        onchange: null,
        orientation: {
            ScreenOrientation: { angle: 0, type: 'landscape-primary', onchange: null }
        },
        pixelDepth: 24,
        width: 1920
}
Window.toString = function toString(){
return 'function Window() { [native code] }'
}
Window.toString.toString = function toString(){
return 'function toString() { [native code] }'
}

window.setTimeout = function setTimeout() {}
window.onerror = {}
window.localStorage = {
getItem :function getItem(){
    return null
}
}

window.sessionStorage = {}
window.indexedDB = {}
window.chrome = {}

补完以后再用express写一个接口把盾山函数调用接口暴露出来即可,传入dunm、url、data、method等

最后用python校验一波接口 没毛病

在这里插入图片描述

Ending

Github传送门

持续更新ing (欢迎各种star与fork)

如有权益问题可以发私信联系我删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值