CTF(5)

一、[SWPUCTF 2021 新生赛]ez_caesar

1、题目

import base64
def caesar(plaintext):
    str_list = list(plaintext)
    i = 0
    while i < len(plaintext):
        if not str_list[i].isalpha():
            str_list[i] = str_list[i]
        else:
            a = "A" if str_list[i].isupper() else "a"
            str_list[i] = chr((ord(str_list[i]) - ord(a) + 5) % 26 + ord(a) or 5)
        i = i + 1
 
    return ''.join(str_list)
 
flag = "*************************"
str = caesar(flag)
print(str)
 
#str="U1hYSFlLe2R0em1mYWpwc3RiaGZqeGZ3fQ=="

2.由‘==’判断是base64,base64解密后得到 -------- SXXHYK{dtzmfajpstbhfjxfw}

3.再观察代码,else两段语句,意思是将字母后移5位,大小字母分别处理,解码将字母前移5位即可。

4.解码

str = "SXXHYK{dtzmfajpstbhfjxfw}"
flag = ''
for i in str:
    if not i.isalpha():
        flag += i
    else:
        a = 'A' if i.isupper() else 'a'
        flag += chr((ord(i) - ord(a) - 5) % 26 + ord(a))
print(flag)

二、[AFCTF 2018]Vigenère

CTF(5)_第1张图片

维吉尼亚密码,通过在线工具进行解密,得flag

三、[WUSTCTF 2020]佛说:只能四天

1.题目

尊即寂修我劫修如婆愍闍嚤婆莊愍耨羅嚴是喼婆斯吶眾喼修迦慧迦嚩喼斯願嚤摩隸所迦摩吽即塞願修咒莊波斯訶喃壽祗僧若即亦嘇蜜迦須色喼羅囉咒諦若陀喃慧愍夷羅波若劫蜜斯哆咒塞隸蜜波哆咤慧聞亦吽念彌諸嘚嚴諦咒陀叻咤叻諦缽隸祗婆諦嚩阿兜宣囉吽色缽吶諸劫婆咤咤喼愍尊寂色缽嘚闍兜阿婆若叻般壽聞彌即念若降宣空陀壽愍嚤亦喼寂僧迦色莊壽吽哆尊僧喼喃壽嘚兜我空所吶般所即諸吽薩咤諸莊囉隸般咤色空咤亦喃亦色兜哆嘇亦隸空闍修眾哆咒婆菩迦壽薩塞宣嚩缽寂夷摩所修囉菩阿伏嘚宣嚩薩塞菩波吶波菩哆若慧愍蜜訶壽色咒兜摩缽摩諦劫諸陀即壽所波咤聞如訶摩壽宣咤彌即嚩蜜叻劫嘇缽所摩闍壽波壽劫修訶如嚩嘇囉薩色嚤薩壽修闍夷闍是壽僧劫祗蜜嚴嚩我若空伏諦念降若心吽咤隸嘚耨缽伏吽色寂喃喼吽壽夷若心眾祗喃慧嚴即聞空僧須夷嚴叻心願哆波隸塞吶心須嘇摩咤壽嘚吶夷亦心亦喃若咒壽亦壽囑囑

2.题目描述:

圣经分为《旧约全书》和《新约全书》


3.解题思路

第一时间想到与佛论禅密码,但是解密失败

根据提示,圣经分为旧约和信约,找到一个新约佛论禅/佛曰加密 - PcMoe!

跟与佛论禅前面要加上“佛曰:”一样,这里前面要加上“新佛曰:”再去解密,解得

平等文明自由友善公正自由诚信富强自由自由平等民主平等自由自由友善敬业平等公正平等富强平等自由平等民主和谐公正自由诚信平等和谐公正公正自由法治平等法治法治法治和谐和谐平等自由和谐自由自由和谐公正自由敬业自由文明和谐平等自由文明和谐平等和谐文明自由和谐自由和谐和谐平等和谐法治公正诚信平等公正诚信民主自由和谐公正民主平等平等平等平等自由和谐和谐和谐平等和谐自由诚信平等和谐自由自由友善敬业平等和谐自由友善敬业平等法治自由法治和谐和谐自由友善公正法治敬业公正友善爱国公正民主法治文明自由民主平等公正自由法治平等文明平等友善自由平等和谐自由友善自由平等文明自由民主自由平等平等敬业自由平等平等诚信富强平等友善敬业公正诚信平等公正友善敬业公正平等平等诚信平等公正自由公正诚信平等法治敬业公正诚信平等法治平等公正友善平等公正诚信自由公正友善敬业法治法治公正公正公正平等公正诚信自由公正和谐公正平等

显然是社会主义核心价值观编码:根据在线工具,解得

RLJDQTOVPTQ6O6duws5CD6IB5B52CC57okCaUUC3SO4OSOWG3LynarAVGRZSJRAEYEZ_ooe_doyouknowfence

是栅栏密码,这里去掉后面的提示

RLJDQTOVPTQ6O6duws5CD6IB5B52CC57okCaUUC3SO4OSOWG3LynarAVGRZSJRAEYEZ_ooe

栅栏密码枚举解密得到

R5UALCUVJDCGD63RQISZTBOSO54JVBORP5SAT2OEQCWY6CGEO53Z67L_doyouknowCaesar

然后转到凯撒加密,但试了一下凯撒移位的结果也都是乱码,上面也提示说了凯撒不是最后一步

观察到前面的结果猜测是base32

那么尝试凯撒枚举+base32,这里同样去掉后面的提示

R5UALCUVJDCGD63RQISZTBOSO54JVBORP5SAT2OEQCWY6CGEO53Z67L

flag{ni_hao_xiang_xiang_da_wo}

四、[鹤城杯 2021]easy_crypto

打开后是社会核心价值观,打开在线编码工具,进行解密


五、[强网拟态 2021]拟态签到题

1.题目:

2.发现有等号,可能是base64, 解码后得到flag

你可能感兴趣的:(python,开发语言)