【ctfshow持续更新中】crypto

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

1.crypto0(凯撒密码)

gmbh{ifmmp_dug}
转换地址:http://www.hiencode.com/caesar.html
key为1

2.crypto2(jsfuck)

打开文件为这种,在控制台使用console就可以获得flag了
在这里插入图片描述
在这里插入图片描述

3.crypto3(aaencode)

把颜文字复制粘贴到控制台,按enter就可以看到了
在这里插入图片描述

4.crypto4(知p q e求d)

RSA解密,已知p、q、e解d 利用python计算

p = 447685307
q= 2037
e =17
n = (p - 1) * (q-1)
d = (n+1)//e
print(d)
这里参照大佬的wp

5.crypto5(知p q e c求d)

这里借鉴wp
p=447685307 q=2037 e=17 c=704796792 flag为 flag{m}

import gmpy2
p = 447685307 
q = 2037 
e = 17
c = 704796792
n = p*q
phi_n = (p-1)*(q-1)
d = gmpy2.invert(e,phi_n)
print("m:",pow(c,d,n)) 
#m: 904332399012

6.crypto6(Rabbit)

密文:U2FsdGVkX19mGsGlfI3nciNVpWZZRqZO2PYjJ1ZQuRqoiknyHSWeQv8ol0uRZP94MqeD2xz+
密钥:加密方式名称
U2FsdGVkX1 开头 应该是 Rabbit加密 密钥为 Rabbit
地址:http://www.jsons.cn/rabbitencrypt/
在这里插入图片描述

7.crypto7(okk!)

在这里插入图片描述
文本是这样的,使用https://www.splitbrain.org/services/ook进行转换即可

8.crypto8(BrainFuck)

+++++ +++++ [->++ +++++ +++<] >++.+ +++++ .<+++ [->-- -<]>- -.+++ +++.<
++++[ ->+++ +<]>+ +++.< +++++ +++[- >---- ----< ]>--. .--.- -.-.- --.-.
+++++ +..-- -..<+ +++++ +[->+ +++++ +<]>+ +.<++ ++++[ ->--- ---<] >----
----- .---- -.<++ ++++[ ->+++ +++<] >++++ +++++ +++.< +++++ ++[-> -----
--<]> .++.- ----. <++++ +++[- >++++ +++<] >+++. --.<+ +++++ [->-- ----<
]>--- ----- ---.+ .<+++ +++[- >++++ ++<]> +++++ +++++ ++.<+ +++++ [->--
----< ]>--- ----- ---.- .++++ .<+++ +++[- >++++ ++<]> +++++ +++.< +++++
+[->- ----- <]>-- ----- ---.- ----- .++++ +++++ .---- ----. <++++ ++[->
+++++ +<]>+ +++++ +++++ +.<++ +++[- >++++ +<]>+ ++.<

这里依旧采用上一题的解密网站地址
在这里插入图片描述

9.crypto9(serpent)

是一个加密的zip,先爆破密码
在这里插入图片描述
得到一个 .dat文件 根据压缩包名称 serpent 应该是serpent加密
后面的这个serpent 解密网站打不开,所以是看的wp里面的flag

10.crypto10(quoted-printable)

=E7=94=A8=E4=BD=A0=E9=82=A3=E7=81=AB=E7=83=AD=E7=9A=84=E5=98=B4=E5=94=87=E8=AE=A9=E6=88=91=E5=9C=A8=E5=8D=88=E5=A4=9C=E9=87=8C=E6=97=A0=E5=B0=BD=E7=9A=84=E9=94=80=E9=AD=82
quoted-printable编码,用一个等号”=”后跟随两个十六进制数字(0–9或A–F)来表示一个非ASCII字符
在这里插入图片描述

11.crypto11(md5)

密文:a8db1d82db78ed452ba0882fb9554fc
这是一个md5
在这里插入图片描述

12.crypto12(埃特巴什码)

uozt{Zgyzhv_xlwv_uiln_xguhsld}
根据flag格式可知 u对应f o对应 l z对应a t对应g

埃特巴什码:最后一个字母代表第一个字母,倒数第二个字母代表第二个字母。
明文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
进行替换,得到flag
在这里插入图片描述
直接提交不正确,a应该是A,flag{Atbase_code_from_ctfshow}

13.crypto13(base多重)

利用脚本去帮我们 循环多次解密base

import base64
filename = r"C:\Users\Administrator\Desktop\base家族\base家族\base.txt"
with open(filename) as f:
    s = f.read()
while True:
    try:
        s = base64.b16decode(s)
        continue
    except:
        pass
    try:
        s = base64.b32decode(s)
        continue
    except:
        pass
    try:
        s = base64.b64decode(s)
        continue
    except:
        pass
    break
print(s)
b'flag{b4Se_Fami1y_Is_FUn}'

14.crypto14(base64编码表换表)

这里借鉴大佬的wp,感谢大佬的wp
一堆0 1 将二进制01串转换为 16进制 得到:
3333203435203530203266203333203536203465203436203436203664203465203435203431203665203663203438203434203335203634203433203464203664203536203438203434203335203631203634203339203735203437203061
hex 解码得到:
33 45 50 2f 33 56 4e 46 46 6d 4e 45 41 6e 6c 48 44 35 64 43 4d 6d 56 48 44 35 61 64 39 75 47 0a
再次解码:
得到 3EP/3VNFFmNEAnlHD5dCMmVHD5ad9uG
直接base64解码 不行,这里需要根据base64编码表 对这串代码进行一下 移位替换
看一下 我们的密文开头是 3EP/ 而flag的base64编码为:ZmxhZw==
位移刚好是30 写脚本还原一下

s= '3EP/3VNFFmNEAnlHD5dCMmVHD5ad9uG'
a = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
flag = ''
for i in s:
    flag += a[(a.index(i)-30)%64]
if len(flag)%4!=0:
    flag += '='*(4-len(flag)%4)
print(flag)
print(base64.b64decode(flag).decode('UTF-8'))
#ZmxhZ3vnnIvmiJHplb/kuI3plb8/fQo=
#flag{看我长不长?}

15.萌新_密码5(当铺密码)

由田中 由田井 羊夫 由田人 由中人 羊羊 由由王 由田中 由由大 由田工 由由由 由由羊 由中大
当铺密码加密方式:前汉字有多少笔画出头,就是转化成数字几

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值