手把手带你入门加密算法的Python实现
摘要:一个简单的md5加密算法,带你解开所谓“加密”过程的神秘面纱。
一个简单的md5加密算法,非常适合新手练习
链接:> aHR0cDovL3d3dy5jaHVjaHVqaWUuY29tL2luZGV4Lmh0bWw=
0x01. 分析请求
通过输入账号密码抓包查看加密字段
0x02. 定位加密位置
直接通过检索<font color="red">`password:`</font>
0x03. 分析加密
一个一个排查,最终我们找到了加密的地方,md5加密,打上断点进行调试,重新点击登录,停在了我们断点的地方
然后我们继续追进去,代码如下
其中传入了三个参数,我们打断点调试一下,其中 string 是我们的密码,key和raw都是 undefined,我们把它们两个都等于空字符串就可以了
0x04. 测试结果
接下来我们把这个文件的代码全部抠出来,然后进行重写,就可以了
**一个rsa加密练习**
链接:
> JXU4RkQ5JXU5MUNDJXU2NjJGJXU4OTgxJXU1MkEwJXU1QkM2JXU3Njg0JXU1MTg1JXU1QkI5JXVGRjAxaHR0cHMlM0EvL29hdXRoLmQuY24vYXV0aC9nb0xvZ2luLmh0bWw=
0x01分析请求
通过输入账号密码抓包查看加密字段,很明显,只有密码被加密了,接下来我们全局搜索 pwd
0x02. 定位加密位置
我们直接全局搜索 pwd,会发现搜到的东西很多,
我们换个思路,直接搜索 pwd = ,会发现只有一个,然后我们点进去,打上断点
0x03. 分析加密
点击登录,会停在我们打断上的地方,可以看到, rsa函数对我们的密码进行了处理
我们跟进 rsa 看一下
很明显的看到,就是一个 rsa 加密,其中 arg 是我们输入的密码,接下来我们使用 先把这一段代码扣下来(进行一些修改,使用node进行调试输出,如下
运行发现缺少 setMaxDigits,然后我们全局搜索 setMaxDigits,然后跟进去,把其中的代码全部复制出来
我们再运行,发现缺少 RSAKeyPair,然后我们全局搜索它,把其中的代码全部复制出来
然后我们一次一次调试,缺什么补什么,直到不再缺少函数或者参数
0x04 测试结果
可以看到,我们已经拿到加密后的密码
以上就是今天的内容了,本文仅供学习交流使用,如有任何利益问题请联系笔者删除,祝大家学习愉快
代码地址:https://github.com/Alex-blip/JsSpider
本文分享自华为云社区《Python爬虫进阶 | 某某街 | 某乐网 加密算法分析》,原文作者:Samuel 。