zoukankan      html  css  js  c++  java
  • 实验吧-密码学(二)

    11、最近在论证一个问题,到底是先有鸡还是先有蛋

    Ijm,lo 3wsdr4 6tghu7

    解题链接: http://ctf5.shiyanbar.com/crypto/1/dan.html

    在键盘上的位置刚好是3个圆,圆心的位置的字母就是答案。

    答案:KEY

    12、一段奇怪的代码

    解题链接: http://ctf5.shiyanbar.com:8080/aspencode/

    ASP encode解密

    密文:

    #@~^EQAAAA==VXlj4UmkaYAUmKN3bAYAAA==^#~@ 

    使用ASP在线解密工具:

    http://www.zhaoyuanma.com/aspdecode.php

    答案: VbSciptEncodE

    13、这里没有key

    解题链接: http://ctf5.shiyanbar.com:8080/4/index.html

    F12之后发现里面有

    <!-- #@~^TgAAAA=='[6*liLa6++p'aXvfiLaa6i[[avWi[[a*p[[6*!I'[6cp'aXvXILa6fp[:6+Wp[:XvWi[[6+XivRIAAA==^#~@ -->

    为VBscript编码,解码之 

    解码网站:推荐网站:http://www.dheart.net/decode/index.php 

    答案:Encode@decode

    14、压缩的问题

    一段16进制字符串,乌鸦~~~~~~

    解题链接: http://ctf5.shiyanbar.com/crypto/winrar/ 

    C:Program FilesHashTab Shell Extension

    解题思路:将十六进制字符串复制进winHex中,保存后rar文件导出,显示如下,得知为rar文件,

    根据提示知道解压密码为:65H-71H选中后,后面的..[z-{}..9B8C

    随即也亮了,说明其为解压的密码,解压,鼠标右键点击属性,可以看到SHA-1的哈希值,由于题目中说明了为其前8位故而,答案:58a09ae4

    解压密码:..[z-{}..9B8C

    答案:58a09ae4

    15、chinese hacker

    那一夜,你伤害你,那一夜,我看见了一堆骷髅头

    解题链接: http://ctf5.shiyanbar.com/web/2/

    解题关键:

    打开解题链接,下载数据库文件,需要DbView数据库查看器

    打开数据库文件,会发现有密码,点击破解密码,然后点击连接进入。

    DbView数据库查看器

    复制里面的内容进第一个框内提交得到:

    Key1: 1GetThEFirst

    返回做第二题,对code1进行解密,看到里面有=猜想是不是base64,解密后发现并不是,因此猜测可能是base32.

    使用python交互来解码(base64的库可以用来解base32) 

    >>> import base64

    >>> base64.b32decode("INXW2ZLPNYZDAMJSMJQWE6I=")

    'Comeon2012baby'

    >>> 

    得到key2

    Key2: 2tHEWinNer

    答案:1GetThEFirst+2tHEWinNer

    16、base??

    YMFZZTY0D3RMD3RMMTIZ

    这一串到底是什么!!!!为什么这么像base32却不是!!!

    明文的md5值为16478a151bdd41335dcd69b270f6b985

    解题链接: http://ctf5.shiyanbar.com/crypto/c300

    打开链接后自动下载一个c300的文件,用winHex打开发现是个rar文件,保存后rar文件,然后打开用记事本打开,可以看到其中,加密代码为:

    import base64

    def change(ch):

           if ord(ch)<92:

                  return chr(ord(ch)+32)

           else:

                  return chr(ord(ch)-32)

                 

    if __name__ == '__main__':

           flag='?????'

           rawstr=base64.b64encode(flag)

           finalstr=''

           for i in range(0,len(rawstr)):

                  if ord(rawstr[i])>96 and ord(rawstr[i])<123:

                         finalstr+=change(rawstr[i])

                  else:

                         finalstr+=rawstr[i]

           print rawstr

           print finalstr

    看源码是所有base64大写,现在就是反过来,每个大小写都试一下,用到itemtools里面的product方法(返回传入参数的笛卡尔积)

    具体代码如下:(py2.7)

    #!/usr/bin/python

    #encoding=UTF=8

    import hashlib

    import itertools

    from base64 import b64decode

    def check(str):

        m1 = hashlib.md5(str)

        if m1.hexdigest() == '16478a151bdd41335dcd69b270f6b985':

            return True

        else:

            return False

    list1=itertools.product(['Y','y'],['M','m'],['F','f'],['Z','z'],['Z','z'],['T','t'],['Y','y'],['0'],['D','d'],['3'],['R','r'],['M','m'],['D','d'],['3'],['R','r'],['M','m'],['M','m'],['T','t'],['I','i'],['Z','z'])

    for i in list1:

        str1=''.join(i)

        if check(b64decode(str1)):

            print "The Flag is "+b64decode(str1)

            break

    运行结果如下:

    The Flag is base64wtfwtf123

    答案:base64wtfwtf123

    17、兔子你好

    U2FsdGVkX197ihEWFWSF8qzdJ/Y1GS6pieLsbQHFUA==

    兔子即为rabbit,按照提示rabbit解码即可

    在线解码:

    http://tool.oschina.net/encrypt

    答案:sImPle_xUe_yuan

    18、疑惑的汉字

    现有一段经过加密的密文,内容如下:王夫 井工 夫口 由中人 井中 夫夫 由中大。请找出这段密文隐藏的消息明文。

    格式:CTF{ }

    解题链接: http://ctf5.shiyanbar.com/423/crypto/1.html

    解题思路:复制密文至百度,发现是当铺密码

    67 84 70 123 82 77 125

    将该密码进行ASCII转换得到CTF{RM}。

    答案:CTF{RM}

    19、神秘字母

    神秘字母dloguszijluswogany而旁边的矩阵是1 2,快找出flag吧 0 1

    格式:simCTF{ } 

    解题链接: http://ctf5.shiyanbar.com/crypto/zimu.html

    在线代的课本上出现了一堆神秘字母 
    dloguszijluswogany 
    而旁边的矩阵是 
    1 2 
    0 1 
    快找出flag吧 

    key格式:simCTF{}

    解题思路:

    看到矩阵猜想应该是希尔密码加密,根据矩阵乘法的规则:,将其排成2列,(即两个字母为一组)

    d  o  u  z  j  u  w  g  n  

    4    15   21   26   10   21   23   7    14

    l  g  s  i  l  s  o  a  y 

    12   7    19   9   12   19   15   1    25

    分别与密码相乘然后mod26发现没有规律,然后对秘钥矩阵求逆得:

    1  -2  逆矩阵求法:|A B| = 1/(AD-BC) * | D -B|

    0   1        |C D|         |-C A|

    然后用逆矩阵与密码相乘mod26得:

    1 -2  *  4    =  -20    mod26 对应  f

    0  1   12       12            l

    1 -2  *  15   =   1     mod26 对应  a 

    0  1    7      7           g

    依次得到:flagis hillissoeasy

    答案:simCTF{hillissoeasy}

    20、围在栅栏中的爱

    最近一直在好奇一个问题,QWE到底等不等于ABC?

    -.- .. --.- .-.. .-- - ..-. -.-. --.- --. -. ... --- --- 

    flag格式:CTF{xxx}

    解题思路:看到字符串得知使用的摩斯密码,使用摩斯密码解密得到:

    http://www.jb51.net/tools/morse.htm(在线摩斯密码加解密)

    得到明文:KIQLWTFCQGNSOO

    根据题目知应该需要经过栅栏密码解密处理,

    在线栅栏密码平台:http://www.qqxiuzi.cn/bianma/zhalanmima.php

    每组字数由2-7依次尝试,发现只有7的结果中含有提示的love

    RABNAYIHSEVOLI,将结果进行反转得到:ILOVESHIYANBAR

    根据提示里面的字母改为小写既可。

     

    答案:CTF{iloveshiyanbar}

  • 相关阅读:
    HttpClient 使用
    $.each 遍历
    PYTHON2.day02
    PYTHON2.day01
    PYTHON1.面向对象_day04
    PYTHON1.面向对象_day03
    PYTHON1.面向对象_day02
    PYTHON1.面向对象_day01
    PYTHON1.day21
    PYTHON1.day20
  • 原文地址:https://www.cnblogs.com/duanwxue1128/p/7812839.html
Copyright © 2011-2022 走看看