13:js逆向-登录加密(aes加密)
post请求,请求头信息被加密
response返回数据被加密
1:首先搞请求头data加密,还是直接搜索
搞定加密的参数
f={"body": {"loginMethod": "1","name": "17756236589","password": "132456789"},"head": {"userCode": null,"channelCode": "101","transTime": (new Date).getTime(),"transToken": "","customerId": null,"transSerialNumber": ""}
}
console.log(JSON.stringify(f))
js源码:
const aes = require('crypto-js');//crypto是加密md5的,这里是aes加密
function newEncrypt (l) {var n = aes .enc.Utf8.parse("7wzKai3JXektzcXr"), t = aes .enc.Utf8.parse("7wzKai3JXektzcXr"), e = aes .enc.Utf8.parse(l), a = aes .AES.encrypt(e, n, {iv: t,mode: aes .mode.CBC,padding: aes .pad.Pkcs7});return aes .enc.Base64.stringify(a.ciphertext)}
f={"body": {"loginMethod": "1","name": "17756236589","password": "132456789"},"head": {"userCode": null,"channelCode": "101","transTime": (new Date).getTime(),"transToken": "","customerId": null,"transSerialNumber": ""}
}
json_data=JSON.stringify(f)
console.log(newEncrypt(json_data))
注意crypto是加密md5的,这里是aes加密
2: response返回数据被加密
encryctReturns的处理
在这里我们要做的操作是解密;
可以看到,在把密文传过来以后,替换了一些符合,然后扔给g.newDecoto函数进行解密
成功
function newDecoto(l) {var n = aes.enc.Base64.parse(l), t = aes.enc.Utf8.parse("8Zzwx6fffJ4nHFGY"), e = aes.enc.Utf8.parse("8Zzwx6fffJ4nHFGY"), a = aes.lib.CipherParams.create({ciphertext: n});return aes.AES.decrypt(a, t, {iv: e,mode: aes.mode.CBC,padding:aes.pad.Pkcs7}).toString(aes.enc.Utf8)}
miwei='6It+gMU0gvpHmI4LDEAnWOKTFJVE3ng2iZKhHLDdyaVJ10jIrcLuvULoabJX+V2z6v/VvV9MziI/\n8VsODLn2cawTUIqw1r2V9rXNxXC7qxJNUPQjKFuhFYpqqswO+7bImbKojXXJY3SADDcbT+4osVe2\nES6Ik+1/4qkHgvHI+/JqbC0C1mU44GLVVfAaV7EwanNgaXzOOCddVOObE45oii1KC8KnzA+mjz44\nCVwoI8Vo77akPAN/tUA0e+ZUF7MRs5p1j1FNqVbhoWfEui25Zfl2jNNGj+igPATn9xAaUBcU+OHi\nK2ER2X0qMERHR0OA'
n = miwei.replace(/[\r\n]/g, "")
console.log(newDecoto(n))
完整代码:
const aes = require('crypto-js');//crypto是加密md5的,这里是aes加密
function newEncrypt (l) {var n = aes .enc.Utf8.parse("7wzKai3JXektzcXr"), t = aes .enc.Utf8.parse("7wzKai3JXektzcXr"), e = aes .enc.Utf8.parse(l), a = aes .AES.encrypt(e, n, {iv: t,mode: aes .mode.CBC,padding: aes .pad.Pkcs7});return aes .enc.Base64.stringify(a.ciphertext)}
f={"body": {"loginMethod": "1","name": "17756236589","password": "132456789"},"head": {"userCode": null,"channelCode": "101","transTime": (new Date).getTime(),"transToken": "","customerId": null,"transSerialNumber": ""}
}
function newDecoto(l) {var n = aes.enc.Base64.parse(l), t = aes.enc.Utf8.parse("8Zzwx6fffJ4nHFGY"), e = aes.enc.Utf8.parse("8Zzwx6fffJ4nHFGY"), a = aes.lib.CipherParams.create({ciphertext: n});return aes.AES.decrypt(a, t, {iv: e,mode: aes.mode.CBC,padding:aes.pad.Pkcs7}).toString(aes.enc.Utf8)}
miwei='6It+gMU0gvpHmI4LDEAnWOKTFJVE3ng2iZKhHLDdyaVJ10jIrcLuvULoabJX+V2z6v/VvV9MziI/\n8VsODLn2cawTUIqw1r2V9rXNxXC7qxJNUPQjKFuhFYpqqswO+7bImbKojXXJY3SADDcbT+4osVe2\nES6Ik+1/4qkHgvHI+/JqbC0C1mU44GLVVfAaV7EwanNgaXzOOCddVOObE45oii1KC8KnzA+mjz44\nCVwoI8Vo77akPAN/tUA0e+ZUF7MRs5p1j1FNqVbhoWfEui25Zfl2jNNGj+igPATn9xAaUBcU+OHi\nK2ER2X0qMERHR0OA'
n = miwei.replace(/[\r\n]/g, "")
json_data=JSON.stringify(f)
console.log(newEncrypt(json_data))
console.log(newDecoto(n))
13:js逆向-登录加密(aes加密)相关推荐
- js加密-AES加密解密
js加密-AES加密解密 // AES加密AESencrypt(word) {let srcs = CryptoJS.enc.Utf8.parse(word);let encrypted = Cryp ...
- js逆向之企名片加密参数encrypt_data的破解
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_38534107/article/ ...
- 小程序登录的AES加密解释
前情回顾 通过wx.getUserInfo()的success回调得到的加密数据( encryptedData ) 对加密数据( encryptedData )解密后可得到openId和unionId ...
- 爬虫进阶学习之路---js逆向登录
js逆向: 1.凡科网(https://i.fkw.com) 通过登录页面练习 再练习的过程中发现 我在登录错误密码之后会出现滑块验证(瞬间感觉头大了 但是学习吗 硬着头皮上了)还是常规的操作 打开 ...
- qt实现程序密钥注册功能,MD5加密+AES加密,并实现一台电脑系统一个密钥
qt实现了一个给自己软件加密的功能. 原理是: 需要被注册的软件第一次运行的时候,在系统的注册表里面注册一个键值,如下: 这个值作为生成密钥的用户识别号,然后生成密钥文件key.db,把这个key.d ...
- JS逆向-搜狗词库加密
今天分析的网站是:https://pinyin.sogou.com/dict/ 加密的接口是这个: https://pinyin.sogou.com/dict/search/search_list/% ...
- 前后端分离API接口如何加密 —— AES加密方案
场景还原:页面中需要展示手机号,身份证号,因为是前后端分离,所有接口API地址有可能暴露,这样不怀好意的人可以拿到个人敏感信息 解决方案: 1. 敏感信息加掩码,例如:接口返回130**12这样的手机 ...
- Python加密—AES加密(2)
为什么80%的码农都做不了架构师?>>> AES 加密算法,AES 为 CBC 模式. key: 16 个字符的密钥 iv: 16 个字符长的 IV code = { #加密文本必须 ...
- python 某文书网JS逆向 登录加密算法还原
python 某文书网登录加密还原 run(手机号,密码)运行 import base64 import requests from urllib.parse import quote from Cr ...
最新文章
- 拒绝泡沫,客观评价!让我们从18个分立的视角来看AI
- linux cat 合并文本 中间添加分隔符
- jmeter全局变量传参_Jmeter 将正则表达式提取的参数传给全局(跨线程组使用变量)...
- [C++]Call virtual member function in constructor or destructor
- mysql索引查询 with_查找mysql中的低效索引
- tensorflow与keras的关系
- python算法与数据结构-双向链表
- C#将文件压缩或者解压
- 使用.NET Core 编写端到端测试
- pearson相关系数_Pearson(皮尔逊)相关系数
- GP学习(九)—Working with geodatabases and the geoprocessor
- 解决phpmailer可以在windows下面发送成功, 在linux下面失败的问题
- windows C++ 网络编程
- 怎么用快影去除视频中的水印?
- 基于智能合约的银行借贷方案设计与实现
- 框架相关核心要点详解
- iBeacon让互联网营销进入场景时代
- Python小记——创建空集
- 扔鸡蛋问题(四种解法)
- 虚拟机桥接模式下ping不通外网(baidu.com)