JS逆向 | 防脱发的秘诀

简介: JS逆向 | 防脱发的秘诀

hello,大jia好,又到了练手时间了,这是我给大伙分享的第…篇逆向文章。前面的几篇猛戳下面:

Python爬虫之JS逆向入门篇

JS逆向之新榜登录

JS逆向之国航登录

据说点好看的人最后变得更好看了!

好了,进入正题拉,这个是我们今天要破解的网站:https://m.beibei.com/login/login.html

分析

Chrome 开发者工具我觉得还是有必要学一下的,毕竟工欲善其事,必先利其器。做好爬虫,做好 JS 逆向,工具是第一位。

先看抓包情况:

这个是最终登录的请求,what? 密码居然是明文,checkcode 是图片验证码,那么就只有一个加密参数 beibeitoekn。

先别急着一把梭,一看到加密参数就去搜索。首先把整个过程的请求数据都点开看看,因为有时候加密参数是前面的请求响应中返回的,比如这种有时效性 token 一般是服务器用来做校验,先发给客户端,客户端再 POST 给服务器,在服务器端再进行校验

请求响应

so~,最终我们的方向就是破解第一个请求,眨眼一看 Form Data 里面也没有加密参数呀。

注意看上面 Params 里面有个 abr 加密参数,关键点就是破解它了

破解

这是 XHR 请求,好办!直接下 XHR 断点:

下断点

再点登录之后,你就会看下请求被断下来了。

再往下点几下,你就能发下关键点

最终结果是由函数 m 生成的,点进去,下断点

重发请求:

前面几个加密函数都不用管,只是一个简单的转换,重点在 l["default"],找到函数位置,点击进去

接下来就正式进入扣代码环节,

继续往下走,注意发现关键的地方

很明显的标识了,还扣什么代码呀!是不是嫌弃头发太多???直接先来个验证吧!这个是我们传过去的参数,将它记录下来

然后我们用 Python 代码来实现一下

1>>>ts = "username=17775731459&scene=h5_login&rams_device_id=2972225991"
2>>>import hashlib
3>>>res = hashlib.md5(ts.encode("utf-8")).hexdigest()
4>>>res
5'8afdca35566e68fd7821aed42cab7ae0'

再去浏览器输出查看结果

Bingo! 完全正确。这就完了?? 憋高兴太早,后面还有一步加密

感觉这个套路也是一样的!难道也是调用的加密模块!结果如何,请继续往下看

代码结构很类似!

1a.HMAC = r.extend()

HMAC!也是一种哈希算法,Hmac 和普通 Hash 算法非常类似。Hmac 输出的长度和原始哈希算法的长度一致。Python 自带的 Hmac 模块也实现了标准的 Hmac 算法

同样的为了头发,我选择放弃扣代码,直接用 Python 来实现

先找准传入参数 和 salt,其中传入的参数是上一步生成的,salt 调用加密函数的原文中,可以输出看下

下面是用 Python 实现的:

1import hamc
2
3def c(g, key):
4    return hmac.new(key.encode("utf-8"), msg=g.encode("utf-8"), digestmod=hashlib.sha1).hexdigest()

这一步加密的验证结果,自己动手试试吧。将代码整合到一起,成功获取到了 token

640.png

总结

对于加密的 JS 代码比较多的, 能用 Python 中的加密算法实现就尽量用。这其实也是一种防脱发秘诀,当然你头发比较多的话,可以忽略,去尝试扣下 JS 代码,也不是不可以!


相关文章
|
8月前
|
Linux 开发工具 git
版本控制工具:Git的安装和基本命令使用指南。
结束这段探险,掌握了Git你就等于掌握了一个宝藏,随时可以瞥见你的编程历程,轻松面对日后的挑战。Git,无疑是编程者的强大武器,开始你的Git探险之旅吧!
317 28
|
5月前
|
数据采集 JSON Linux
抖音无限私信协议脚本有?
抖音私信协议技术解析与实现 1. 协议概述与通信机制
|
5月前
|
消息中间件 存储 API
抖音私信协议软件,抖音群发私信的工具,抖音自动私信插件【python框架】
这个框架包含配置管理、消息队列、API客户端和主程序四个主要模块。配置管理负责存储账号信息和设置
|
存储 数据库管理 索引
索引的优点和缺点是什么
【10月更文挑战第15天】索引的优点和缺点是什么
|
安全 文件存储 数据安全/隐私保护
贝锐花生壳全新客户端上线:远程威联通NAS,无需公网IP、简单3步!
为了实现随时随地访问和备份珍贵数据,贝锐花生壳推出专为威联通NAS设计的内网穿透方案。用户只需通过威联通NAS应用中心一键安装,即可享受无需公网IP的远程访问便利。此外,贝锐花生壳还提供自动部署HTTPS证书和访问控制功能,确保数据传输的安全性。群晖NAS用户同样可以通过套件中心一键安装使用。
626 0
贝锐花生壳全新客户端上线:远程威联通NAS,无需公网IP、简单3步!
|
JavaScript 算法 前端开发
彩某社js逆向
该内容是一个关于逆向工程的案例分析,讲述了如何破解财联社登录接口的加密参数`sign`。作者发现`sign`是通过`sha1`和`md5`混合加密的。经过调试,找到了加密算法的过程,并用JavaScript模拟了这个过程,最终成功生成了与接口相同的加密字符串。附有JS代码示例。
390 0
|
SQL 关系型数据库 MySQL
SqlAlchemy 2.0 中文文档(五十七)(1)
SqlAlchemy 2.0 中文文档(五十七)
163 1
|
测试技术 数据安全/隐私保护 iOS开发
iOS自动化测试方案(四):保姆级搭建iOS自动化开发环境
iOS自动化测试方案的第四部分,涵盖了基础环境准备、iPhone虚拟机设置、MacOS虚拟机与iPhone真机的连接,以及扩展问题和代码示例,确保读者能够顺利完成环境搭建并进行iOS自动化测试。
2007 0
iOS自动化测试方案(四):保姆级搭建iOS自动化开发环境
|
JavaScript 算法 数据安全/隐私保护
JS逆向加密解密工具Crypto Magician、乐易助手、WT-JS 下载使用
JS逆向加密解密工具Crypto Magician、乐易助手、WT-JS 下载使用
1325 0
JS逆向加密解密工具Crypto Magician、乐易助手、WT-JS 下载使用
|
SQL 关系型数据库 数据库
SqlAlchemy 2.0 中文文档(五十七)(2)
SqlAlchemy 2.0 中文文档(五十七)
186 0