当前位置: 首页 > news >正文

某局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)

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

相关文章:

  • BERT - 段嵌入(Segment Embedding)
  • Composer安装Laravel步骤
  • mybatis多表查询
  • Python实例题:Python实现iavaweb项目远端自动化更新部署
  • 解决双系统ubuntu24.04开机出现花屏等情况
  • Java面试黄金宝典48
  • Java 多线程编程之原子类 AtomicBoolean(构造方法、获取与设置、比较并设置)
  • rancher 解决拉取dashboard-shell镜像失败的问题
  • Wincc管对象的使用
  • 【ESP32-microros(vscode-Platformio)】
  • Go 语言中的 package main、 func main() 和main.go的使用规范
  • 浮点数比较在Eigen数学库中的处理方法
  • AI前沿周报:2025年3月技术深度解析
  • Express中间件(Middleware)详解:从零开始掌握(1)
  • 在Java项目中,引入【全局异常处理器】
  • HarmonyOS-ArkUI V2装饰器-@Once
  • 第一节:React 基础篇-React虚拟DOM原理及Diff算法优化策略
  • 【Web功能测试】注册与登录功能测试用例设计深度解析
  • (十四)安卓开发中的RecyclerView详解
  • Python 和 JavaScript两种语言的相似部分-由DeepSeek产生
  • 陕西中交基础建设有限公司网站/长沙谷歌seo收费
  • 深圳企业网站开发/高端营销型网站
  • 免费自己做网站/个人推广平台
  • 怎样做运营一个网站/厦门网络营销推广
  • 西宁做网站哪家好/产品软文范例1000字
  • 做外贸好的网站有哪些/网站是怎么做的