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

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

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

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

本次的受害者

aHR0cHM6Ly9wYXNzcG9ydC5mYW5nLmNvbS8/YmFja3VybD1odHRwcyUzQSUyRiUyRmd6LmZhbmcuY29tJTJG

 

目录:

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

 

复制到编辑器继续运行直到没有报错为止

 

这个网站的开发人员很贴心把加密所相关的所有方法都放到了一个文件下,从文件名大概就可以看出来,把这个文件的所有代码复制到编辑器运行,直接得出了结果。

 

以上文章来源于一只有想法的爬虫 ,作者 coder 谢公子

转载地址

https://mp.weixin.qq.com/s?src=11×tamp=1602485541&ver=2639&signature=0HgH*WhULD1cgJjty6TNPlV7sItNhtlpdEc9OW30io7Jk00ClMrOumxhDpdZ4tz*bJsoqGWYOzwn-ODp*PCBwaRrzzf6p4*NDfWif3wgtXvcHJFQHRvBliQKuQ-Ik8PD&new=1
你可能感兴趣的文章
MySQL执行计划解读
查看>>
mysql执行顺序与索引算法
查看>>
mysql批量update优化_Mysql中,21个写SQL的好习惯,你值得拥有呀
查看>>
mysql批量update操作时出现锁表
查看>>
MYSQL批量UPDATE的两种方式
查看>>
mysql批量修改字段名(列名)
查看>>
MySQL批量插入数据遇到错误1213的解决方法
查看>>
mysql技能梳理
查看>>
MySQL报Got an error reading communication packets错
查看>>
Mysql报错Can‘t create/write to file ‘/tmp/#sql_3a8_0.MYD‘ (Errcode: 28 - No space left on device)
查看>>
MySql报错Deadlock found when trying to get lock; try restarting transaction 的问题解决
查看>>
MySQL报错ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘
查看>>
Mysql报错Packet for query is too large问题解决
查看>>
mysql报错级别_更改MySQL日志错误级别记录非法登陆(Access denied)
查看>>
Mysql报错:too many connections
查看>>
MySQL报错:无法启动MySQL服务
查看>>
mysql授权用户,创建用户名密码,授权单个数据库,授权多个数据库
查看>>
mysql排序查询
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>
MySQL排序的艺术:你真的懂 Order By吗?
查看>>