09:js逆向

文章讲述了在PyCharm中无法直接运行JS代码的情况以及如何解决,重点讨论了网站登录验证过程,包括cookies、took和sig的使用。文章还涉及到了密码加密,特别是通过Object(S[a])函数进行的明文密码加密,以及如何通过sha256算法处理token来完成sign的加密过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提:如果在pycharm中无法直接运行js代码,我们可以

 

下载这个我们就可以直接执行js,不必在py文件里面执行

 

 1:在对于网站登录后,我们一般会拿到cookies,然后进行登录验证;但是有些网站并不会给你cookeis

 

 他会在登录的时候给你一个took,然后拿took进行验证,took的时效性比较短,所以我们需要逆向他

 在登录是他对于我们的密码加密,然后加了一个sig,直接搜索接口

 我们可以看到在sig时候密码已经被加密,所以我们先解决pwd加密;

把搜索所有的pwd断点,bebug停在那里那里就是

 

是Object(S["a"])这个函数明文密码加密的

下面就是部js代码,部全js代码后得到加密后的pwd

 

 sig:

 

 可以看到s(e)=e,

sig和pwd一样

 老样子<爬虫>叫给网站

https://curlconverter.com/

 

 需要数据中的token解决,现在只有sing一个遍的参数,必须对token逆向,因为他是一个具有时效性的可变参数

下来找最后一个sign

sign

 

 可以看到了k函数是一个sha256方式的加密(信息摘要算法)

sign加密:

const crypto = require('crypto');
n={
    "no": "dy3002",
    "data": {
        "rankTime": "2022-09-19 - 2022-09-25"
    }
}
e=(new Date).getTime()
function E(n, e) {
        return sha256encrypt("param=" + JSON.stringify(n) + "&timestamp=" + e + "&tenant=1&salt=" + "kbn%&)@<?FGkfs8sdf4Vg1*+;`kf5ndl$")
    }
    function sha256encrypt(text) {
         return crypto.createHash("sha256").update(text).digest('hex')
    }

    console.log(E(n, e))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值