buuctf做题记录

权限获得第一步1

首先我们下载文档,然后看到一串字符串:
Administrator:500:806EDC27AA52E314AAD3B435B51404EE:F4AD50F57683D4260DFD48AA351A17A8:::

可以观察一下806EDC27AA52E314AAD3B435B51404EE,F4AD50F57683D4260DFD48AA351A17A8它们都是32位,很明显这个是md5加密
它的密文是F4AD50F57683D4260DFD48AA351A17A8然后我们进行md5解密答案就出来了

在这里插入图片描述
补充

还原大师1

首先让我们再重温一下题目:
我们得到了一串神秘字符串:TASC?O3RJMV?WDJKX?ZM,问号部分是未知大写字母,为了确定这个神秘字符串,我们通过了其他途径获得了这个字串的32位MD5码。但是我们获得它的32位MD5码也是残缺不全,E903???4DAB???08???51?80??8A?,请猜出神秘字符串的原本模样,并且提交这个字串的32位MD5码作为答案。 注意:得到的 flag 请包上 flag{} 提交
我们要注意题目中的关键字(刻意加粗的字符)
然后我们利用python写一个脚本:

import hashlib
k = 'TASC?O3RJMV?WDJKX?ZM'
for i in range(26):
    temp1 = k.replace('?',str(chr(65+i)),1)
    for j in range(26):
        temp2 = temp1.replace('?',chr(65+j),1)
        for n in range(26):
            temp3 = temp2.replace('?',chr(65+n),1)
            s = hashlib.md5(temp3.encode('utf8')).hexdigest().upper()
            if s[:4] == 'E903':
                print s

然后我们就可以得到答案了
在这里插入图片描述
记得前面加上flag哦,python在线链接

[GKCTF2020]汉字的秘密 1

我们打开题目会看到一个文档,
王壮 夫工 王中 王夫 由由井 井人 夫中 夫夫 井王 土土 夫由
土夫 井中 士夫 王工 王人 土由 由口夫
很明显它是当铺密码
我们利用当前汉字有多少笔画出头,就是转化成数字几,来解密这些文字,同时也可以自己写个脚本这样更方便一些,69 74 62 67 118 83 72 77 86 55 71
57 82 57 64 63 51 107然后我们得到以上数字,聪明的你肯定一眼就看出它是ASCILL码,所以我们对照下表再次解密,或者直接ascill在线解密
在这里插入图片描述

然后得到结果EJ>CvSHMV7G9R9@?3k,你以为这个就是结果,太天真了,我们对EJ>CvSHMV7G9R9@?3k再次解密,EJ>C解密应该对应的是flag,刚好f(102)->E(69),l(108)->J(74),a(97)->>(62),g(103)->C(67),它们做差分别是,33,34,35,36,所以它是变异凯撒加密,规律为i+33,所以我们写一个java脚本来解密

package c1;
public class a 
{
    public static void main(String[] args) 
    {
        String ciphertext = "EJ>CvSHMV7G9R9@?3k";
        char[] plaintext = new char[ciphertext.length()];
        for(int i = 0; i < ciphertext.length(); i++){ 
            plaintext[i] = (char)(((int)ciphertext.charAt(i) + 33 + i) % 128);
        }
        for (char i: plaintext) {
            System.out.print(i);
        }
    }
}

运行得到最终的答案
在这里插入图片描述
提交flag{you_are_good}

Unencode

打开我们的题目看到一串字符串:89FQA9WMD<V1A<V1S83DY.#<W3$Q,2TM]
我们根据题目判断它应该是Unencode编码在线工具
然后我们进行解密
在这里插入图片描述
然后我们的答案就出来了

密码学的心声1

回顾题目:二战时期,某国军官与一个音乐家情妇相好,然而自从那时起,他屡战屡败,敌人似乎料事如神。他也有怀疑过他的情妇,但是他经过24小时观察他的情妇,发现她每天都只是作曲,然后弹奏给战地电台,为士兵们鼓气,并未有任何逾越。那么,间谍到底是谁?这张曲谱是否有猫腻? (答案为一个明文字符串,提交获得的有意义语句通顺字符串即可) 注意:得到的 flag 请包上 flag{} 提交
在这里插入图片描述
根据图片提示我们知道它是转换成ascii码,不过不是十进制而是八进制,然后三个一组进行转换,我们写一个python代码:

s = '111 114 157 166 145 123 145 143 165 162 151 164 171 126 145 162 171 115 165 143 150'
tmp = [s.split(' ')[i] for i in range(len(s.split(' ')))]
cipher = ''
for i in tmp:
    cipher += chr(int(i,8))
flag = "flag{"+cipher+"}"
print(flag)

在这里插入图片描述
然后我们得到flag

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值