Crypto
这是base??
base编码原理的实现,百度了一下,找到个脚本,改一下table即可
1 |
|
1 | root@Kali:~# gcc 0.c |
signin
hex编码
BJD{We1c0me_t4_BJDCTF}
rsa_output
RSA共模攻击
1 | import gmpy2 |
RSA
n1和n2共用一个q,可以先求最大公约数求出q,然后求出p,然后通过m(或者pow(294,e,n))可以求出e,就把RSA的所有参数求出来了
1 | import libnum |
flag: BJD{p_is_common_divisor}
easyrsa
实际上z=p^2+q^2
1 | import libnum |
flag:BJD{Advanced_mathematics_is_too_hard!!!}
Polybius
棋盘密码,特点:密文长度是明文长度的两倍
密文中只出现了aeiou,解密不对,需要爆破顺序,即5!个,不太会写脚本(菜。。。)
官方wp:
1 | import itertools |
长度14,猜测flag就是flagispolybius
1 | uoaei flagispolybius |
BJD{flagispolybius}
编码与调制
曼彻斯特编码,学习了学习了。。。
1 | msg=0x2559659965656a9a65656996696965a6695669a9695a699569666a5a6a6569666a59695a69aa696569666aa6 |
flag:BJD{DifManchestercode}
伏羲六十四卦
这套娃也套得太多了吧。。。
1 | import base64 |
output:
1 | 011000100110110000110001011011110101100001000110001100010111001001100001001100100100011001100010010101110011001001010110011100000101011000110001011001000110011001010101011011010100001001101001010101000011000100110001011001000101100101000101001101010100111001010110010101100110010001011000010100110101010101011010010110010101001101000110010101100100010001010101010000010011110100111101 |
flag:BJD{bjdcongratulationsongettingtheflag}
Misc
认真你就输了
解压文档,找一下就找到了flag,charts文件夹下flag:flag{M9eVfi2Pcs#}
你猜我是个啥
打开压缩包文件报错,16进制看一下,是个png,改后缀,是个二维码,扫描说flag不在这。。。
继续16进制看看,文件底部找到flag:flag{i_am_fl@g}
藏藏藏
给了一张jpg图片,binwalk发现压缩包,foremost解压得到一个文档,打开扫码得到flag:flag{you are the best!}
just_a_rar
4位数密码爆破,得到:2016,解压得到图片,16进制源码得到flag:flag{Wadf_123}
一叶障目
因为我使用的是honeyview查看图片,显示失败,多半是改了png图片的高,010打开,将第二行的01 4C改成03 4C保存,再打开就得到flag:flag{66666}
纳尼
gif文件打不开,多半是16进制源码出问题了,打开看到少了gif的文件头,添加上47 49 46 38后保存,打开看到字符串,记录下来Q1RGe3dhbmdfYmFvX3FpYW5nX2lzX3NhZH0=
base64:CTF{wang_bao_qiang_is_sad}
鸡你太美
给了两张gif,一个打不开,直接010,看到,第二张少了文件头,加上之后得到
flag:flag{zhi_yin_you_are_beautiful}