例如:登录js调试工具: js调试工具.rar - 桌面系统文档资源 - CSDN下载
1.获取加密代码
从图中可以看出是经过加密的,我们在搜索框中搜索“=”,找到并打开包含关键字的js文件,查看里面的代码。
我们在这行代码里找到了加密代码语句,是RSA加密,我们在这里设个断点,重新提交登录。
我们将这两行代码复制到js调试工具中。
把复制的代码放到一个函数中,然后我们需要完成这个功能。
我们回到检测工具中,定位到()函数,并进入其所在的js文件。
通过观察我们发现该js文件里面含有RSA加密内容,因此我们将该文件里面的代码全部复制到js调试工具中。
加载代码,求表达式的值,报错,我们先解决()函数的定义,返回检查工具搜索。
找到了,将代码复制到调试器中,再次加载计算。
让我们继续解决错误。它说它尚未定义,所以让我们定义两个变量并将它们用作函数参数。
将相应的mod和exp数据复制到定义的变量中,并再次加载计算。
继续解决错误问题,可以看到错误行的代码中有关键字 this,在方法中,this 指的是方法所属的对象,所以我们继续寻找它所属的对象。
可以看到这个js文件里面调用的东西非常多,为了减少不必要的麻烦,干脆把这个文件里面的代码全部复制到调试工具里(先把刚才复制的函数删除)。
再次加载时,出现“未定义的错误”,这是js内置的对象,我们在代码开头加上=this;,再次加载计算,加密结果出现成功⇩⇩⇩
2.使用模块运行js代码获取加密密码
执行前修改js代码。因为mod和exp的值不一定是固定的,所以需要实时捕获。
function getPwd(password,mod,exp) {
var pubKey = RSA.getPublicKey(mod,exp);
var encryptedPassword = RSA.encrypt(password, pubKey);
return encryptedPassword;
}
使用发送请求获取数据,然后将它们传入()函数中即可得到加密后的密码。
import execjs
import requests
header = {
"user-agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36"
}
url = "https://store.steampowered.com/login/getrsakey/"
data ={
"donotcache": "1639109728248",
"username": "123@qq.com"
}
resp = requests.post(url,headers=header,data= data).json()
mod = resp['publickey_mod']
exp = resp['publickey_exp']
print("publickey_mod:",mod)
print("publickey_exp:",exp)
# 实例化一个node对象
node = execjs.get()
#js源文件编译
ctx = node.compile(open('nsa.js',encoding='utf-8').read())
#执行getPwd函数
funcName = 'getPwd("{0}","{1}","{2}")'.format('123456',mod,exp)
pwd = ctx.eval(funcName)
print("密码:",pwd)
输出效果
3.模拟登录steam
#续上代码
url_login = 'https://store.steampowered.com/login/dologin/'
data_login = {
"donotcache": "1639124407636",
"password": pwd,
"username": "123@qq.com",
"twofactorcode":"",
"emailauth":"",
"loginfriendlyname":"",
"captchagid": "-1",
"captcha_text": "",
"emailsteamid": "",
"rsatimestamp": "118875800000",
"remember_login": "false"
}
resp_login = requests.post(url_login,headers=header,data=data_login).json()
print(resp_login)
输出效果
扫一扫在手机端查看
-
Tags : pythonsteam模拟登录
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。