博客
关于我
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
你可能感兴趣的文章
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
mysql 状态检查,备份,修复
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>
MySQL 用 limit 为什么会影响性能?有什么优化方案?
查看>>
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>
MySQL 的 varchar 水真的太深了!
查看>>
mysql 的GROUP_CONCAT函数的使用(group_by 如何显示分组之前的数据)
查看>>
MySQL 的instr函数
查看>>
MySQL 的mysql_secure_installation安全脚本执行过程介绍
查看>>