手把手带你入门加密算法的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 。

 

点击关注,第一时间了解华为云新鲜技术~

posted @ 2020-12-30 11:53  华为云开发者联盟  阅读(906)  评论(0编辑  收藏  举报