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年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
从何学起的朋友。**
[外链图片转存中…(img-2aBvGWfq-1715840852523)]
[外链图片转存中…(img-z1kjvSKo-1715840852523)]
[外链图片转存中…(img-Hoo2T8RQ-1715840852523)]
[外链图片转存中…(img-jwC0mYZL-1715840852524)]
[外链图片转存中…(img-tIW47Ubv-1715840852524)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!