BUUCTF题解_buuctf题目答案(3)

5.Quoted-printable

题目:=E9=82=A3=E4=BD=A0=E4=B9=9F=E5=BE=88=E6=A3=92=E5=93=A6

解法:根据题目可知这是一个quoted-printable编码,查阅资料得知这是“可打印字符引用编码”,编码常用在电子邮件中,它是MIME编码常见一种表示方法! 在邮件里面我们常需要用可打印的ASCII字符 (如字母、数字与"=“)表示各种编码格式下的字符!Quoted-printable将任何8-bit字节值可编码为3个字符:一个等号”=“后跟随两个十六进制数字(0–9或A–F)表示该字节的数值。利用工具即可解出flag。

6.Rabbit

题目:U2FsdGVkX1/+ydnDPowGbjjJXhZxm2MP2AgI

解法:根据题目所给的Rabbit,查阅资料后发现是一种编码方式,特点是Rabbit加密开头部分通常为U2FsdGVkX1

7.篱笆墙的影子

题目:felhaagv{ewtehtehfilnakgw}

解法:栅栏密码,就是把明文分成N个组,然后取出每组的第一个,每组的第二个。。接着按顺序排列得出密文。若每个组里有2两个元素的话就叫2栏栅栏密码。

解法一:可以看出整个字符串长为26个字符,而需要构成一个flag,正好可以分成2栏栅栏密码

解法二:直接利用工具

8.RSA

题目:在一次RSA密钥对生成中,假设p=473398607161,q=4511491,e=17

解法:利用RSATOOL这个工具:

1.Number Base 设置为十进制

2.注意:Public Exponent这里要使用16进制的数,如果公钥e=17的话,就应该填入十六进制的11

3.给出p,q,e的话直接填入,再点击Calc.D,获得d

4.给出的是n和e的话,输入n和e,点击Factor N(分解),得到p,q,再重复第3步就能得到d了

9.丢失的MD5

题目:

import hashlib   
for i in range(32,127):  //取随机数
    for j in range(32,127):
        for k in range(32,127):
            m=hashlib.md5()
            m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM')     //拼接加md5加密
            des=m.hexdigest()     //转化为16进制
            if 'e9032' in des and 'da' in des and '911513' in des:
                print des

解法:编写脚本,得到结果e9032994dabac08080091151380478a2,额…这就是一题补充代码的

import hashlib
for i in range(32,127):
    for j in range(32,127):
        for k in range(32,127):
            m = hashlib.md5()
            s='TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM'
            m.update(s.encode())
            des=m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print(des)
10.Alice与Bob

题目:密码学历史中,有两位知名的杰出人物,Alice和Bob。他们的爱情经过置换和轮加密也难以混淆,即使是没有身份认证也可以知根知底。就像在数学王国中的素数一样,孤傲又热情。下面是一个大整数:98554799767,请分解为两个素数,分解后,小的放前面,大的放后面,合成一个新的数字,进行md5的32位小写哈希,提交答案。 注意:得到的 flag 请包上 flag{} 提交

解法:

1.先通过大整数分离工具,将这个整数分离成两个素数

2.再通过哈希加密工具加密这个合成数

11.大帝的密码武器

题目:公元前一百年,在罗马出生了一位对世界影响巨大的人物,他生前是罗马三巨头之一。他率先使用了一种简单的加密函,因此这种加密方法以他的名字命名。
以下密文被解开后可以获得一个有意义的单词:FRPHEVGL
你可以用这个相同的加密向量加密附件中的密文,作为答案进行提交。

密文:ComeChina

解法:这题是利用了凯撒密码,简单来说就是一个移位加密的方式,最多可以移位25位,写个脚本试试吧

def decode(secret):
    min = ord('a')
    max = ord('z')
    for offset in range(26):
        plaint = ''
        for s in secret:
            o = ord(s) + offset
            o = (o - max + min - 1) if o > max else o  # 超过最大值,移到头部
            plaint += chr(o)
        print(plaint, offset)

str_secret = "FRPHEVGL".lower()
decode(str_secret)

代码跑出来的结果中13号比较眼熟security,说明这个规则是偏移了13次,即key=13

加密ComeChina,最后flag{PbzrPuvan}

def encode(plaint,offset):
    min = ord('a')
    max = ord('z')
    secret=''
    for p in plaint:
            o = ord(p) - offset
            o = (o + max - min + 1) if o < min else o
            secret += chr(o)
            print(secret)

plaint = "ComeChina".lower()
encode(plaint,13)

12.rsarsa

题目:

Math is cool! Use the RSA algorithm to decode the secret message, c, p, q, and e are parameters for the RSA algorithm.
p =  9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q =  11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
e =  65537
c =  83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034

Use RSA to find the secret message

解法:利用RSATOOL将d求出来

d=56632047571190660567520341028861194862411428416862507034762587229995138605649836960220619903456392752115943299335385163216233744624623848874235303309636393446736347238627793022725260986466957974753004129210680401432377444984195145009801967391196615524488853620232925992387563270746297909112117451398527453977

利用python脚本,求明文,flag{5577446633554466577768879988}

e = 65537
p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483
q = 11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407
n = p * q
# 密文
c = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034

d = 56632047571190660567520341028861194862411428416862507034762587229995138605649836960220619903456392752115943299335385163216233744624623848874235303309636393446736347238627793022725260986466957974753004129210680401432377444984195145009801967391196615524488853620232925992387563270746297909112117451398527453977

# 求明文
M = pow(c, d, n)  # 快速进行求幂取模运算
print(M)
13.Windows系统密码

题目:

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
ctf:1002:06af9108f2e1fecf144e2e8adef09efd:a7fcb22a88038f35a8f39d503e7f0062:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
SUPPORT_388945a0:1001:aad3b435b51404eeaad3b435b51404ee:bef14eee40dffbc345eeb3f58e290d56:::

解法:观察整个CTF的密码,只有字母和数字,发现很像MD5编码,对两串32位字符串进行解密试试,发现后面的可以顺利解出

14.信息化时代的步伐

题目:也许中国可以早早进入信息化时代,但是被清政府拒绝了。附件中是数十年后一位伟人说的话的密文。请翻译出明文(答案为一串中文!) 注意:得到的 flag 请包上 flag{} 提交

606046152623600817831216121621196386

解法:一串纯数字,很怪,瞄一眼题目,获取关键字【中文】,OK,应该是中文电码,try一try,flag{计算机要从娃娃抓起}

15.凯撒?替换?呵呵!

题目:

MTHJ{CUBCGXGUGXWREXIPOYAOEYFIGXWRXCHTKHFCOHCFDUCGTXZOHIXOEOWMEHZO}

解法:很怪的东西,像是凯撒偏移的值不定,考虑进行暴力破解,利用在线破解平台quipqiup - cryptoquip and cryptogram solver,将MTHJ替换成FLAG,进行破解

可以从中找出一个可读有意义的语句,flag substitution cipher decryption is always easy just like a piece of cake,去掉空格就是FLAG了

16.萌萌哒的八戒

题目:萌萌哒的八戒原来曾经是猪村的村长,从远古时期,猪村就有一种神秘的代码。请从附件中找出代码,看看萌萌哒的猪八戒到底想说啥

解法:根据图片下面的代码,可以看出是猪圈密码,在网上找了一张对应表,对应写出flag{whenthepigwanttoeat}

17.传统知识+古典密码

题目:

小明某一天收到一封密信,信中写了几个不同的年份
          辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。
          信的背面还写有“+甲子”,请解出这段密文。

key值:CTF{XXX}

解题:题目中涉及到天干地支纪年法,查找天干地支表

从上表中可以找出对应的数字为:28、30、23、08、17、10、16、30,背后写着”+甲子“说明得到的数据需要再加甲子数,但是加1后还是看不出什么类型,于是加61后发现是ASCII码。

二、Misc

1.小胖

解法:这道题是一个gif图片,在查看的时候发现有FLAG飘过,利用Kali进行逐帧分离,找到FLAG,这个操作利用了Kali中的convert命令

root@kali:~/Desktop# convert aaa.gif bbb.jpg

2.二维码

解题:这道题放进Kali中,利用binwalk查看文件信息,发现文件下存在隐写 4number.txt

root@kali:~/Desktop# binwalk QR_code.png

接着利用binwalk进行文件分离,binwalk可以扫描固件映像以查找许多不同的嵌入式文件类型和文件系统。-e参数:对隐藏文件提取

root@kali:~/Desktop# binwalk -e  QR_code.png

发现文件分离出一个压缩文件且含有密码

密码?哼!暴力破解冲!!!使用fcrackzip工具,猜测密码为4位数

root@kali:~/Desktop/_QR_code.png.extracted#  fcrackzip -b -c1 -u -l4 1D7.zip

OK,密码为7639,最后得到FALG

3.你竟敢赶我走

解题:这道题就是一个jpg图片看着蛮正常的,然后拖到WinHex中发现FLAG就在最下面

4.大白

题目:看不到图? 是不是屏幕太小了

解法:打开图片发现大白只有一半身子,题目又暗示了图是不全的,那就可以考虑去改变它的高度,在WinHex中尝试将高度从01改为03

改完后保存发现图像已经改变,可以看到大白下面的FLAG

5.N种方式解决

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

从何学起的朋友。**

[外链图片转存中…(img-TsFCO7Rv-1715482404831)]

[外链图片转存中…(img-qrbe3KZr-1715482404832)]

[外链图片转存中…(img-vnW5vvNv-1715482404832)]

[外链图片转存中…(img-n5iB7F5O-1715482404832)]

[外链图片转存中…(img-0a1yOTUT-1715482404832)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值