zoukankan      html  css  js  c++  java
  • 利用base64库暴力破解base加密

    做个base加密题python语法出了一堆错误。。。。。

    附上py中关于base加密/解码的知识:http://www.open-open.com/lib/view/open1433990719973.html

    题目:

    enc1.txt中是: R1lZVElOWlVHWTNFQ05SUkdNWlRLTVJXSU0zREdNWlRHVVlUR01CVUlRMkRJTkpSR05DQT09PT0=

    首先学了下python下base的知识 一般用base64库下的 base64.b64/32/16decode()/encode()就够用了

    看到这个题,第一感觉是base中解密有没有明显特征,查了一圈又实验了几个发现base64和32加密后结果应该不能分辨,但长度都是4的整数倍,结尾有时会用补=,16可能可辨,数字偏多而且结尾不出现=。

    所以直接识别是不行了,那就只能暴力破解了:

      用py过程中出了些问题 例如缩进问题,空格和Tab不能混用,一直以为只要相等就没事,其实不行;文件名不能用python预留的关键词,例如base64这个词就不行。

     代码如下

    import base64
    
    text='R1lZVElOWlVHWTNFQ05SUkdNWlRLTVJXSU0zREdNWlRHVVlUR01CVUlRMkRJTkpSR05DQT09PT0='
    
    for i in range(3):
        try:
            if i==0:
                text=base64.b16decode(text)
            if i==1:
                text=base64.b32decode(text)
            if i==2:
                text=base64.b64decode(text) 
        except:
            continue
        for j in range(3):
            try:
                if j==0:
                    text=base64.b16decode(text)
                if j==1:
                    text=base64.b32decode(text)
                if j==2:
                    text=base64.b64decode(text) 
            except:
                continue
            for k in range(3):
                try:
                    if k==0:
                        text=base64.b16decode(text)
                    if k==1:
                        text=base64.b32decode(text)
                    if k==2:
                        text=base64.b64decode(text) 
                except:
         continue print text

      复制过来的代码缩进可能有些问题

    思路就是三层for循环3种base全都试一遍

    开始没有用try/except 结果提示如果不是base16加密,使用base16解密就会出错,于是用try+continue即可解决

    结果如下:

  • 相关阅读:
    bzoj 2618: [Cqoi2006]凸多边形
    BZOJ 4556 [Tjoi2016&Heoi2016]字符串
    BZOJ 4850 [Jsoi2016]灯塔
    BZOJ 2956: 模积和
    PHP 正则表达式
    Linux Centos6.5安装redis3.0 和phpredis
    linux 删除过期文件
    THINKPHP报错 _STORAGE_WRITE_ERROR
    THINKPHP 部署nginx上URL 构造错误
    Linux 修改mysql密码
  • 原文地址:https://www.cnblogs.com/Aiden-/p/6915781.html
Copyright © 2011-2022 走看看