声明:
本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
加密值:password、srcId
直接搜索参数名password我们就可以定位到这个加密的地方,我们再下一个断点然后再点击登入可以看到被断住了,t.password就是我们输入的明文密码 那o.ec.encrypt就是加密的方法
老样子我们进入方法看一下
进来之后我们可以看到,这不是跟上一篇文章一样?是一个标准的RSA加密,我们直接在setkey处下断点拿到key值就可以直接实现加密方法了
我们下断点后刷新页面,再点击登入弹窗就会断住,这个t就是密钥至此password加密部分就结束了
srcId 参数部分同样我们直接搜参数值可以定位到下面这个地方,我们可以看到这里就是把一个字典转化成字符串然后通过base64编码一下得到的srcId,这里我们可以看到这个t等于一串数字感觉像是某个接口的返回值,不确定我再看看
我们通过跟栈可以看到请求的链接已经返回值,这里我们确定了这个t参数就是从接口里面获取到之后然后放到字典里面的
我们找到了这个接口而且,返回值就是t值 srcId的加密部分也分析完毕了,先请求接口获取内容然后放到字典里转化成字符串然后通过base64编码就完成了
- window = global
- var JSEncrypt = require('jsencrypt')
- password = 123456
-
- function rsaEncrypt(text) {
- var pubkey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCCB81pk1Go/d7K8unYqeB6YyQdDgIRsLji7BxlBfMC2U8/0lyOLxJ6sQb1RmKaILuxN0hRci4zWPfkkPhttWaogq3XABYiDYbx0843ge4D79pG21+qWplw43uHZNs0B6iUChJW1O3DDJPXGwj50L1ySTVt7G7iqsIr9PLZVRSZmQIDAQAB"
- var i = new JSEncrypt();
- i.setPublicKey(pubkey);
- var encryptedData = i.encrypt(text)
- return encryptedData
- }
- console.log(rsaEncrypt(password))
-
-
-
- t = '{"data":"cbbf85a982e5b6bf2783a8f80f17e80b1c735858eda32eb6edc35c627faffc5b922b41b1c8dcee02eed7e668f038a65f34d4a4e8a67ccb586083380281e4d8fac0a410beeb3cd4ba256cd0a92d7159c3359a4b3115b94ec8d89a48a238dde8bc7b1be1551d7d2dbf400ba6bd35e9382f6bc190c468882f6db641cf6349d23e1b","key_id":"1","sign":"0680b095"}'
- r = "https://bj.ke.com/"
-
- d = {
- t:t,
- r:r,
- os:"web",
- v:"0.1"
- }
-
- console.log(window.btoa(JSON.stringify(d)))
结果展示:
看完点个赞吧,喜欢的可以点个关注!