前言
Catf1agCTF 是一个面向所有CTF(Capture The Flag)爱好者的综合训练平台,尤其适合新手学习和提升技能 。该平台由catf1ag团队打造,拥有超过200个原创题目,题目设计注重知识点的掌握,旨在帮助新手掌握CTF相关的各种技能 。除了新手题目,平台也包含难度不一的题目,适合不同水平的CTF参与者 。
平台上的题目类型多样,包括WEB、MISC、CRYPTO、LINUX、PWN/ATTACK、REVERSE等,题目分数制度从60分到100分不等,难度从1星到5星 。题目提交时需要包含完整的题目环境、flag以及writeup,以确保题目的完整性和可解性 。
此外,Catf1agCTF平台还提供了一些辅助工具和资源,如在线工具箱、SRC资料和HW资料等,以帮助用户更好地进行学习和实战演练 。平台的网址为 https://catf1ag.cn/,有意向的用户可以通过官方邮箱catf1ag@163.com进行联系 。对于想要加入交流的用户,平台还提供了官方QQ群和频道,方便用户之间的互动和交流 。
需要注意的是,平台上的部分题目可能需要特定的环境配置,例如WEB题目会包含dockerfile,而PWN/ATTACK题目则必须包含dockerfile以确保题目环境的完整性 。对于题目的flag格式,平台有统一的要求,即flag需要以"catf1ag{}"的格式呈现 。
总的来说,Catf1agCTF是一个资源丰富、适合各个水平CTF爱好者的训练平台,无论是新手还是有经验的参与者,都能在这里找到适合自己的学习和提升机会
一、mdfive
打开靶场
MD5 解密即可
二、这看着好像md5哦?但是...
打开靶场
MD5 范围是 0~9 a~f,去掉不在这个范围内的字母再解密
三、secure
打开靶场
看简介提示了是 Base 以及工具 ciphey
查看加密内容
>ciphey -f secret.txt
Possible plaintext: '************************' (y/N): y
╭────────────────────────────────────────────────╮
│ The plaintext is a Capture The Flag (CTF) Flag │
│ Formats used: │
│ base85 │
│ utf8 │
│ base32 │
│ utf8 │
│ base85 │
│ utf8 │
│ base32 │
│ utf8 │
│ base32 │
│ utf8 │
│ base32 │
│ utf8 │
│ base85 │
│ utf8 │
│ base32 │
│ utf8 │
│ base85 │
│ utf8 │
│ base32 │
│ utf8 │
│ base85 │
│ utf8 │
│ base85 │
│ utf8 │
│ base64 │
│ utf8 │
│ base85 │
│ utf8 │
│ base32 │
│ utf8 │
╰────────────────────────────────────────────────╯
catf1ag{random_base_base}
四、RSA-1
打开靶场
c、d、n 全都给出来了,直接解就行了
import libnum
n = 27923546688785100627085251688584205537266404276104476430568571439813555202903863659239438877198396285920759238519123682927654783615372705490636357230780987798230566803322056023221018581448430045389813899467392740930067623739770901558621189678625333325171990331603988067042455971888705002931045753008370398478491704123907381748000483381409726626077287129698539418772652397516148642076801868014436511704919965590603763683736410764530020088211854525433614067579859540878027864152338790439363127547709669405656338717228328070599222413955043614615977368130116323457345004557587775317493497488999845588639457805957284877917
d = 26966586714068355338035806714103223410579184171367752838352616918645035969711589405327117902509478604943936600166529701026507147257282968448477435425688687287147882929475811339635343196033577765274069785177697391797075086960249021629715942382926834787729991303806216469340740053966584194279701798276588352992676849868000702087403064800845460772957455241577392758541992830191544072365544247054407392886367523389601229025355988123132441965771919321231102171117742528098869534955554897271436375305159121608174821718619651907931507924901889722610419607037973162134340728268921445288324190096686245855398141247383764088181
e = 65537
c = 4068376143328154631022476581891927555473502093954815555682085448654646605071887231354709102293708380298211151374111974637344234399005015939160783817343586593274351708366093091825614410038965895382431312918223771458125381437167563420750869027255330488340223179369812876809891604582199961454135955994474534584678559153661217183632766931710675726264671569346639235786629144899680675280287212375559955515356630159225612335761728853303978780196920988966696325839755467871967113510659514427186683065461351130825432202852832674686855893122451994502211587832582425858487426475647476406871579404843689748408295150636766591163
m = pow(c, d, n)
print(libnum.n2s(int(m)))