js逆向-某区块链数据获取

声明

本文仅供学习参考,切勿用于其他途径,违者后果自负!

前言

目标网站:aHR0cHM6Ly93d3cub2tsaW5rLmNvbS96aC1jbi9idGMvdHgtbGlzdD9saW1pdD0yMCZwYWdlTnVtPTE=
接口:aHR0cHM6Ly93d3cub2tsaW5rLmNvbS9hcGkvZXhwbG9yZXIvdjEvYnRjL3RyYW5zYWN0aW9uc05vUmVzdHJpY3Q/dD0xNjYyMTkzODI3NTg2JmxpbWl0PTIwJm9mZnNldD0w

参数分析

在这里插入图片描述

在这里插入图片描述

使用python请求,发现没有x-apiKey参数时,请求会失败。

所以需要逆向该参数。老一套,搜素、打断点。
在这里插入图片描述
console中输出。

在这里插入图片描述
通过getApiKey函数完成加密。

F11步入。
在这里插入图片描述
首先将getApiKey拿到,简单修改一下。

function getApiKey() {
    var t = (new Date).getTime();
        , e = encryptApiKey();
    return t = encryptTime(t),
        comb(e, t)
}

在这里插入图片描述
提示encryptApiKey没定义,找到拿下来。
在这里插入图片描述
没有split属性,split是js中字符串的方法。t变量看一下var t = this.API_KEY,API_KEY的值是"a2c903cc-b31e-4547-9299-b6d07b7631ab"
定义一下t变量,重新运行。
在这里插入图片描述

encryptTime函数拿一下。
在这里插入图片描述
comb函数找到拿下。
在这里插入图片描述
window.btoa 是浏览器中原生的base64编码,由于环境差异,node.js中没有btoa方法。
node.js使用new Buffer("字符串").toString('base64')

重新运行得到结果,至于警告不用管。
在这里插入图片描述

使用python第三方库pyexecjs调用即可。
在这里插入图片描述
成功得到结果!
总的来说还是比较简单,很适合练手。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,似乎是在讨论对于一个加密的网址进行解密的问题。其中使用了AES加密算法和CryptoJS库来实现解密操作。具体代码如下: const CryptoJS = require('crypto-js'); function getRealUrl(hh) { var s = "qnbyzzwmdgghmcnm"; var aa = hh.split("/"); var aaa = aa.length; var bbb = aa[aaa - 1].split('.'); var ccc = bbb; var cccc = bbb; var r = /^\ ?[1-9][0-9]*$/; if (r.test(ccc) && cccc.indexOf('jhtml') != -1) { var srcs = CryptoJS.enc.Utf8.parse(ccc); var k = CryptoJS.enc.Utf8.parse(s); var en = CryptoJS.AES.encrypt(srcs, k, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); var ddd = en.toString(); ddd = ddd.replace(/\//g, "^"); ddd = ddd.substring(0, ddd.length - 2); var bbbb = ddd + '.' + bbb; return bbbb; } } getRealUrl() 这段代码是用于对加密的网址进行解密,具体的解密过程如下: 1. 将加密前的字符串cc分割成数组aa,获取数组长度aaa和数组最后一个元素bbb。 2. 判断最后一个元素bbb是否符合一定的格式要求。 3. 如果符合要求,则将cc转换成CryptoJS的Utf8格式的srcs,并生成一个Utf8格式的密钥k。 4. 使用AES加密算法将srcs和k进行加密操作,采用ECB模式和Pkcs7填充方式。 5. 将加密结果转换成字符串ddd,并替换其中的'/'字符为'^'。 6. 截取ddd中除去最后两个字符的部分,然后与bbb拼接起来,得到解密后的网址bbbb。 7. 返回解密后的网址bbbb。 关于js逆向深圳信数据服务的问题,根据提供的引用内容,目前并没有相关的信息来回答该问题。请提供更多相关的信息,以便更好地回答您的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [js逆向-某市公共资源交易网](https://blog.csdn.net/weixin_46672080/article/details/126003502)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [aqistudy真气网JS逆向 + 数据采集(20220801)](https://blog.csdn.net/zhu6201976/article/details/126124548)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值