博客
关于我
Python js逆向 爬取X天下数据,好好看,好好学
阅读量:634 次
发布时间:2019-03-14

本文共 559 字,大约阅读时间需要 1 分钟。

本次的受害者

之前讲过execjs这个库可以在python中运行js代码,这将极大的帮助我们解决逆向问题,找到加密位置不会重写怎么办、js代码太复杂怎么办,用execjs秒杀它。

目录:

1、环境

2、分析网站
3、如何扣js代码

1、环境

Python3.7、execjs、requests

2、分析网站

通过输入错误密码进行抓包

pwd这个参数就是我们需要解决的

直接检索pwd:只有一个结果
一看就知道是这里负责登录的加密(做多了逆向你一看到encrypt这个单词就知道离目标不远了)在这打上断点,重新请求一次,查看参数都是什么。

打开Console面板输入参数就可以知道参数的内容

that.password.val()是密码,再检索key_to_encode
一看到RSA就知道没错了,刚好三个参数

3、如何扣js代码

既然加密的位置都找到了就直接扣代码吧,鼠标移到encryptedString上就可以跳到encryptedString方法所在的位置

直接复制到编辑器中运行
运行肯定会报错的,没关系报错缺什么找什么就好了
缺RSAKeyPair
复制到编辑器继续运行直到没有报错为止
这个网站的开发人员很贴心把加密所相关的所有方法都放到了一个文件下,把这个文件的所有代码复制到编辑器运行,直接得出了结果。

转载地址:http://koioz.baihongyu.com/

你可能感兴趣的文章
Python:使用 shell=False 的子进程调用不起作用
查看>>
Python:修改 PATH 环境变量的平台无关方式
查看>>
Python:假与 0
查看>>
Python:函数使用
查看>>
Python:函数进阶
查看>>
Python:在整数的二进制表示中查找最长的二进制间隙
查看>>
Python:如何从二进制转换为 base 64 并返回?
查看>>
Python:如何以非阻塞方式读取子进程的标准输出
查看>>
Python:如何使用 plotly 制作阴影区域或交替背景颜色?
查看>>
Python:如何根据日期时间获取值的计数
查看>>
python:如何检测串行 COM 上的设备名称/ID
查看>>
Python:如何模拟 datetime.utcnow()?
查看>>
Python:如果DataFrames之间的其他值匹配,则对DataFrame中的值求和
查看>>
Python:字典思维
查看>>
Python:将 HEX 字符串转换为字节
查看>>
Python:将列表与范围列表合并
查看>>
Python:将列表列表初始化为一定大小,
查看>>
Python:带有生成器的给定集合的幂集
查看>>
Python:按字符的位置拆分字符串
查看>>
Python:替换嵌套字典中的值
查看>>