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

     

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

  • 相关阅读:
    STL 源代码分析 算法 stl_algo.h -- includes
    Objective-c 算术函数和常量代表
    文件比较,文件夹比较-- vimdiff,beyond compare, compare suite, WinMerge,Kdiff3
    PHP+lghttpd + postgresql 环境搭建
    开源免费跨平台opengl opencv webgl gtk blender, opengl贴图程序
    expect 参数处理之一
    几款屏幕录制软件 ActivePresente
    gcc -D 传值给代码,默认值为1
    error: /usr/include/stdio.h: Permission denied 的一种情况分析
    linux内核编译环境配置
  • 原文地址:https://www.cnblogs.com/huaweiyun/p/14210708.html
Copyright © 2020-2023  润新知