「这是我参与11月更文挑战的第 20 天,活动详情查看:2021最后一次更文挑战」
什么是 Express ?
Express 是一个基于 NodeJS 的 Web Server 开发框架,能够帮助我们快速的搭建 Web 服务器
为什么需要 Express ?
1、不使用框架,使用原生的 NodeJS 开发 Web 服务器,我们需要处理很多繁琐且没有技术含量的内容,例如:获取路由,处理路由等等
2、 不使用框架,使用原生的 NodeJS 开发 Web 服务器,需要解析 get、post 参数解析,使用 Express 可以使用现成的插件实现上面的功能,只要关心核心的业务逻辑即可
3、在 js 逆向中,使用的 execjs 经常会出现一些未知的 bug,导致我们调用出现错误,如果使用 express 运行本地 web 接口可以大大的减少工作量,完成加密算法的调度
如何使用 Express ?
不会的建议回顾一下上一篇文章
手动安装
1 | bash复制代码npm install express |
简单使用
1 | js复制代码const express = require("express") |
返回静态资源
1 | js复制代码const express = require("express") |
获取 get 请求参数
1 | js复制代码const express = require("express") |
获取 get 请求参数测试结果
获取 post 请求参数
安装
1 | bash复制代码npm install body-parser |
例子
1 | js复制代码const express = require("express"); |
获取 post 请求参数截图
Express 在 Js 逆向中的应用
通过上面的两个例子已经可以学会关于 express 是如何处理请求参数的了,现在就把它应用到 Js 逆向中
在之前我们处理 Js 加密使用的是 python
的 execjs
这个包已经很久没有更新了,经常会出现一些未知的bug
,所以我们今天就要放弃execjs
使用express
来处理加密的 js
直接上一段之前文章的测试代码
先是 Python + execjs 版本
Python + execjs 版本:
1 | python复制代码import requests |
可以看到我们需要先把加密的代码抠出来,然后再使用 execjs 调用这个加密的方法,这个过程中要处理加密的算法的编码问题,以及调度过程中不同语言的编码转换,还有一些调用的 bug
如果使用 Python + express,就很简单了
Python + express 版本:
1 | python复制代码import requests |
express 代码样例:
1 | js复制代码const express = require("express"); |
直接使用 python 访问已经搭建好的接口就行了
代码运行结果
以上就是这次的全部内容了,咱们下次再会 ~
本文转载自: 掘金