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

     

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

  • 相关阅读:
    OSI 和 TCP/IP 网络分层
    java 类加载器
    操作系统 内存管理
    基础线程机制
    java 互斥同步
    数据库引擎
    java 内存分配与回收策略
    Redis基础
    二进制
    node版本管理nvm科学用法
  • 原文地址:https://www.cnblogs.com/huaweiyun/p/14210708.html
Copyright © 2020-2023  润新知