zoukankan      html  css  js  c++  java
  • day2_buuctf

    一、rabbit

    1、原理

    没找到加密过程……

    2、识别

    与base64密文有点相似,但末尾没有=

    3、题目

    二、篱笆墙的影子

    题目

     这个提示给的……猜的,前面flag刚好间隔一个,就把它提取出来了,然后再把偶数位提取出来拼接即为得到的flag

    三、RSA

    1、原理

    公钥密码算法,具体可分为:产生公私钥对、加密、解密

    1)产生公私钥对

    1.随机选择两个不等质数p和q

    2.计算p和q的乘积n

    3.计算n的欧拉函数(小于等于n的正整数中与n互质的数的个数),为(p-1)(q-1)

    4.随机选择整数e,1<e<n的欧拉函数

    5.ed =  1 (mod (p-1)(q-1))

    6.公钥为(n,e),私钥为(n,d)

    2)加密过程

    c = m ^ e mod n

    3)解密过程

    m = c ^ d mod n

    2、识别

    和rsa相关题目,题目会给明显提示,考察的主要是知道n,e,求d之类的

    3、题目

    import gmpy2
    import rsa
    p = 473398607161
    q = 4511491
    n = p * q
    e = 17
    d = int(gmpy2.invert(e , (p-1) * (q-1)))
    print(d)
    View Code

    四、Alice与Bob(素数分解)

    题目

     素数分解网站:http://tools.jb51.net/jisuanqi/factor_calc

    素数分解工具:yafu

    五、rsarsa

    题目

     rsa_m.py:

    import gmpy2
    import rsa
    import binascii
    p =  9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
    q =  11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
    e =  65537
    n = p * q
    d = int(gmpy2.invert(e , (p-1) * (q-1)))
    c =  83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034
    m = pow(c, d, n)
    print(m)
    
    m_hex = hex(m)[2:]
    print(m_hex)
    print("ascii:
    %s"%(binascii.a2b_hex(m_hex).decode("utf8"),))
    View Code

    六、大帝的密码武器

    题目

     大帝想到凯撒密码(替换密码)

     对密文进行加密:

     七、Windows系统密码1

    1、原理

    windows系统用户名和密码会保存在C:WindowsSystem32config位置下的sam文件中,至于500啥意思,500之后的哈希值啥意思不清楚,最后一位的哈希值对应的是该用户名的密码

    2、识别

    用户名:数字:哈希值:哈希值

    3、题目

     ctf那行最后一个哈希为ctf对应的密码,md5解密得到flag

     八、信息化时代的步伐(中文电码)

    1、原理

    中文电码表采用了四位阿拉伯数字作代号,从0001到9999按四位数顺序排列,用四位数字表示最多一万个汉字、字母和符号。

    2、识别

    都是数字且提示和中文相关,数的长度为4的倍数

    3、题目

     一开始走入了误区,研究了很长时间的gbk编码,很好用的一个网站:http://www.mytju.com/classcode/tools/encode_gb2312.asp

     该题目用到的编码方式是中文电码,http://code.mcdvisa.com/,使用该网站解码

  • 相关阅读:
    git命令的使用
    动态生成表格的每一行的操作按钮如何获取当前行的index
    js判断一些时间范围是否有重复时间段
    infiniband install driver
    python之pip install
    KVM :vnc 远程控制kvm创建虚拟机
    如何设置UNIX/Linux中新创建目录或文件的默认权限
    python获取报文参考代码
    JAVA命名规范
    oracle常用知识随笔
  • 原文地址:https://www.cnblogs.com/dx-yll/p/15163099.html
Copyright © 2011-2022 走看看