当前位置: 首页 > news >正文

婚纱摄影东莞网站建设技术支持影视传媒网站设计

婚纱摄影东莞网站建设技术支持,影视传媒网站设计,怎样给网站做图标,建站素材网兄弟们天天看基础看腻了吧 今天来分享一下如何使用Python突破某网游游戏JS加密限制,进行逆向解密,实现自动登录。 逆向目标 目标:某 7 网游登录主页:aHR0cHM6Ly93d3cuMzcuY29tLw接口:aHR0cHM6Ly9teS4zNy5jb20vYXBpL…

兄弟们天天看基础看腻了吧

今天来分享一下如何使用Python突破某网游游戏JS加密限制,进行逆向解密,实现自动登录。

逆向目标

  • 目标:某 7 网游登录
  • 主页:aHR0cHM6Ly93d3cuMzcuY29tLw==
  • 接口:aHR0cHM6Ly9teS4zNy5jb20vYXBpL2xvZ2luLnBocA==
  • 逆向参数:Query String Parameters:password: SlVEOThrcjgzNDNjaUYxOTQzNDM0eVM=

逆向过程

抓包分析

来到某 7 网游首页,随便输入一个账号密码,点击登陆,抓包定位到登录接口为 aHR0cHM6Ly9teS4zNy5jb20vYXBpL2xvZ2luLnBocA== ,GET 请求:

分析一下 Query String Parameters 里的主要参数:

callback 是一个回调参数,这个参数的值不影响请求结果,它的格式为 jQuery + 20位数字 + _ + 13位时间戳,使用 Python 很容易构建:

import time
import randomtimestamp = str(int(time.time() * 1000))
jsonp = ''
for _ in range(20):jsonp += str(random.randint(0, 9))
callback = 'jQuery' + jsonp + '_' + timestamp
print(callback)

login_account 是登录的账户名;

password 是加密后的密码;

_ 是13位时间戳。

参数逆向

需要我们逆向的参数就只有一个 password, 我们尝试直接全局搜索此关键字,会发现出来的结果非常多,不利于分析,这里就有一个小技巧,加个等号,搜索 password=,这样就极大地缩短了查找范围,当然也可以搜索 password:,也可以在关键字和符号之间加个空格,还可以搜索 var password 等,这些都是可以尝试的,要具体情况具体分析,一种没有结果就换另一种。

在本案例中,我们搜索 password=,在 sq.login2015.js 文件里可以看到语句 h.password = td(f),疑似密码加密的地方,在此处埋下断点进行调试,可以看到返回的值确实是加密后的密码:

继续跟进 td 函数,可以看到是用到了一个自写的 RSA 加密,很简单明了,我们直接将其复制下来使用 Python 调用即可:

完整代码直接文末名片自取即可

参数 JS 加密关键代码

var ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
function __rsa(str) {var out, i, len;var c1, c2, c3;len = str.length;i = 0;out = "";while (i < len) {c1 = str.charCodeAt(i++) & 0xff;if (i == len) {out += ch.charAt(c1 >> 2);out += ch.charAt((c1 & 0x3) << 4);out += "==";break}c2 = str.charCodeAt(i++);if (i == len) {out += ch.charAt(c1 >> 2);out += ch.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));out += ch.charAt((c2 & 0xF) << 2);out += "=";break}c3 = str.charCodeAt(i++);out += ch.charAt(c1 >> 2);out += ch.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));out += ch.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));out += ch.charAt(c3 & 0x3F)}return out
}function getEncryptedPassword(a) {var maxPos = ch.length - 2, w = [];for (i = 0; i < 15; i++) {w.push(ch.charAt(Math.floor(Math.random() * maxPos)));if (i === 7) {w.push(a.substr(0, 3))}if (i === 12) {w.push(a.substr(3))}}return __rsa(w.join(""))
}// 测试样例
// console.log(getEncryptedPassword("34343434"))

Python 登录关键代码

#!/usr/bin/env python3
# -*- coding: utf-8 -*-import time
import randomimport execjs
import requestslogin_url = '脱敏处理,完整代码领取Q裙 592539176'def get_encrypted_password(password):with open('encrypt.js', 'r', encoding='utf-8') as f:www_37_js = f.read()encrypted_pwd = execjs.compile(www_37_js).call('getEncryptedPassword', password)return encrypted_pwddef login(username, encrypted_password):timestamp = str(int(time.time() * 1000))jsonp = ''for _ in range(20):jsonp += str(random.randint(0, 9))callback = 'jQuery' + jsonp + '_' + timestampparams = {'callback': callback,'action': 'login','login_account': username,'password': encrypted_password,'ajax': 0,'remember_me': 1,'save_state': 1,'ltype': 1,'tj_from': 100,'s': 1,'tj_way': 1,'_': timestamp}headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36','sec-ch-ua': '" Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"'}response = requests.post(url=login_url, headers=headers, params=params)print(response.text)def main():username = input('请输入登录账号: ')password = input('请输入登录密码: ')encrypted_password = get_encrypted_password(password)login(username, encrypted_password)if __name__ == '__main__':main()

好了,今天的分享就到这里,大家拿到代码后快去试试吧!

http://www.yayakq.cn/news/29840/

相关文章:

  • 网站悬浮窗广告潍坊网站建设wancet
  • 网站开发签呈如何写wordpress培训班
  • 高端网站建设公司哪家好php mysql网站开发实例教程
  • 怎样才能制做免费网站直播软件排名
  • 酒店网站建设设计网站开发所需要的时间 知乎
  • 响应式网站难做网站的seo相关指标
  • 在大网站做网页广告需要多少钱烟台H5网站设计公司
  • 临海建设局网站广州网站排名优化服务
  • 站长工具官网域名查询向wordpress提交插件
  • 英文网站建全网营销型网站建设模板
  • 网站被别人做镜像四川省建筑施工企业安管人员考试
  • 南海区建设局网站做网站的logo
  • 简单网页制作素材谷歌seo需要做什么
  • 公司网站制作第一步是什么深圳宝安通网站建设
  • 阿里巴巴国际站邵阳学院研究生与学科建设处网站
  • 实时网站制作关键词排名怎么上首页
  • 怎样选择网站的关键词做淘客的网站关键词有哪些
  • 怎么选择邯郸做网站营销型网站跟云网站
  • 如何建设wap网站做教育培训网站
  • 网站显示正在建设中聊城网站建设首选天成网络
  • 网站建设的主要目标如何建立网站模板
  • 网站更新了域名如何找到织梦做的网站 xampp
  • 长春微信网站建设公司做网站文案怎么写
  • 如何建三网合一网站wordpress兼职
  • 焦作网站制作公司南京网站建设
  • 如何在虚拟机里面做网站中国建筑人才网官网登录
  • 主营 网站建设 app开发外贸建站平台哪家好
  • 广州企业网站建设开发河南网站建设价格大全
  • 知名的网站制作深圳十佳设计公司排名
  • 传统外贸网站的seo运用陕西建设工程信息网站