题目地址:https://buuoj.cn/challenges
0x01 MD5
密文e00cf25ad42683b3df678c61f42c6bda,MD5查询得到flag:flag{admin1}
0x02 看我回旋踢
凯撒解密,位移13,得到flag:flag{5cd1004d-86a5-46d8-b720-beb5ba0417e1}
0x03 Url编码
url解码得到flag:flag{and 1=1}
0x04 一眼就解密
base64解密,flag:flag{THE_FLAG_OF_THIS_STRING}
0x05 摩丝
莫斯解密,flag:flag{ILOVEYOU}
0x06 变异凯撒
凯撒解密没有得到flag,反思发现规律
以此类推得到flag:flag{Caesar_variation}
0x07 Quoted-printable
直接Quoted-printable解码,或去掉=后,16进制转字符得到flag:flag{那你也很棒哦}
0x08 password
flag{zs19900315}
0x09 zip伪加密
数据区和目录区都改为00 00就对了,flag{Adm1N-B2G-kU-SZIP}
0x0A Rabbit
rabbit解密,flag{Cute_Rabbit}
0x0B RSA
rsa算法,运行脚本,flag{125631357777427553}
0x0C 丢失的MD5
运行脚本,flag{e9032994dabac08080091151380478a2}
0x0D 篱笆墙的影子
栅栏解密,每组字数13,flag{wethinkwehavetheflag}
0x0E Alice与Bob
分解质因数后组合:101999966233,MD5 32位小写加密后flag{d450209323a847c8d01c6be47c81811a}
0x0F rsarsa
N=p*q,(N,d)是私钥,(N,e)是公钥,c是密文,求明文
运行脚本得到flag{5577446633554466577768879988}
需要注意的是这里要安装python对应的gmpy2,教程:https://www.jianshu.com/p/3c053f24b3bc
0x11 传统知识+古典密码
对照六十甲子表得到28 30 23 8 17 10 16 30 +60=88 90 83 68 77 70 76 90
对应ascii码XZSDMFLZ
再由古典密码联想到栅栏解密(每组2)和凯撒解密(位移5)得到flag{SHUANGYU}
0x12 Windows系统密码
改后缀名txt打开,得到密码,32位,猜测md5加密,在线破解得到:flag{good-luck}
(刚开始以为题目提示是纯数字,写脚本爆破10分钟没跑出来,sb了。。。)
0x13 大帝的密码武器
改后缀名解压,凯撒移位13解密得到单词SECURITY,ComeChina加密得到:flag{PbzrPuvan}
0x14 RSA1
运行脚本,flag{W31c0m3_70_Ch1n470wn}
0x15 凯撒?替换?呵呵!
不按照字母顺序的凯撒加密,猜测MTHJ对应FLAG,暴力破解:https://quipqiup.com/
flag{substitution ricked her dyction is always easy just live aciere of rave}
0x16 [CG-CTF]RSA EASY
因为L=(p-1)(q-1)=pq-(p+q)+1,而n=pq,由p-q和pq可以得到p+q,令p-q=A
所以:L=n-根号(A*A+4*n)+1,对应代码:L=n-iroot(A*A+4*n,2)[0]+1
写rsa脚本解密,得到flag,nctf{my_M4th_1s_t00_b4d!!!}
0x17 信息化时代的步伐
由题目联想到电报码加密
https://www.qqxiuzi.cn/bianma/dianbao.php
flag{计算机要从娃娃抓起}
0x18 old-fashion
替换密码,dsln=flag
flag{n1_2hen-d3_hu1-mi-ma_a}
0x19 RSA3
了解共模攻击 https://www.cnblogs.com/gwind/p/8013154.html
flag{49d91077a1abcb14f1a9d546c80be9ef}
0x1A 权限获得第一步
给的文件Administrator:500:806EDC27AA52E314AAD3B435B51404EE:F4AD50F57683D4260DFD48AA351A17A8:::
这是Linux的shadow文件,flag{3617656}
0x1B 萌萌哒的八戒
猪圈密码,WHENTHEPIGWANTTOEAT,flag{whenthepigwanttoeat}
0x1C RSA2
套用解密脚本即可,flag{wow_leaking_dp_breaks_rsa?_98924743502}
0x1D RSA
有意思的来了,顺便复习一下2333
法一(Windows):在线分解公钥
http://tool.chacuo.net/cryptrsakeyparse
n=86934482296048119190666062003494800588905656017203025617216654058378322103517(十进制)
e=65537
分解n得到p,q
带入脚本,flag{decrypt_256}
法二(Linux):解析公钥,openssl rsa -pubin -text -modulus -in pubkey.txt
分解n得到p,q
生成私钥,python
rsatool.py -o private.txt -e 65537 -p
285960468890451637935629440372639283459 -q
304008741604601924494328155975272418463
用私钥解密,openssl rsautl -decrypt -in flag.enc -inkey private.txt
flag{decrypt_256}
0x1E 异性相吸
二进制(异性)读取,异或(相吸)输出,flag{ea1bc0988992276b7f95b54a7435e89e}
0x1F [GXYCTF2019]CheckIn
base64解密:v)*L*_F0<}@H0>F49023@FE0#@EN
感觉是ROT47加密,带入脚本:GXY{Y0u_kNow_much_about_Rot}
0x21 [HDCTF2019]basic rsa
直接套用脚本,flag{B4by_Rs4}
0x22 [HDCTF2019]bbbbbbrsa
题目已经给了p,n和最后的输出值
求出q=211330365658290465952399555594287054848
逆序后base64解密,求出c=2373740699529364991763589324200093466206785561836101840381622237225512234632
根据题意求e,再将所有情况的明文(十六进制)存入flag.txt
搜索666C6167(对应flag的十六进制),转为字符串,flag{rs4_1s_s1mpl3!#}
0x23 [AFCTF2018]Morse
摩斯解密,十六进制转字符,afctf{1s't_s0_345y}
0x24 [NCTF2019]Keyboard
对应九宫格,youaresosmartthatthisisjustapieceofcake
0x25 [GUET-CTF2019]BabyRSA
简单的初中数学,flag{cc7490e-78ab-11e9-b422-8ba97e5da1fd}
0x26 [NCTF2019]childRSA
代码里有检查p和q相差位数的语句,猜测p 和 q 可能比较接近
用yafu把n分解得到p,q,带入脚本NCTF{Th3r3_ar3_1ns3cure_RSA_m0duli_7hat_at_f1rst_gl4nce_appe4r_t0_be_s3cur3}
0x27 [BJDCTF2020]signin
十六进制转字符,BJD{We1c0me_t4_BJDCTF}
0x28 [BJDCTF2020]这是base??
将换码表改为"JKLMNOxyUVzABCDEFGH789PQIabcdefghijklmWXYZ0123456RSTnopqrstuvw+/="
套用脚本解密即可,BJD{D0_Y0u_kNoW_Th1s_b4se_map}
0x29 [BJDCTF2020]rsa_output
RSA共模攻击,BJD{r3a_C0mmoN_moD@_4ttack}
0x2A [GWCTF 2019]BabyRSA
分析题目,N,m1,m2已知
先用yafu分解N得到p与q,再由m1,m2算出c1,c2
再用z3库,由c1,c2算出F1,F2
最后long_to_bytes得到flag,GWHT{f709e0e2cfe7e530ca8972959a1033b2}
0x2B [HDCTF2019]together
将myflag1和myflag2,base64解码成16进制得到两份数据
解析公钥,e1=2333,e2=23333,而N是一样的
openssl rsa -pubin -text -modulus -in pubkey1.pem
openssl rsa -pubin -text -modulus -in pubkey2.pem
联想到rsa共模攻击,套入脚本,flag{23re_SDxF_y78hu_5rFgS}
0x2C [BJDCTF2020]easyrsa
Fraction(a,b)=a/b,Derivative(f(x),x)=f'(x)
其中arctan(p)的导数=1/1+p^2,arth(q)的导数=1/1-q^2
由z和n可以算出L,BJD{Advanced_mathematics_is_too_hard!!!}
0x2D [RoarCTF2019]babyRSA
要求p,q,r
考察威尔逊定理,B的阶乘模A,可以转换为B+1到A-2的连乘的积再模A
RoarCTF{wm-CongrAtu1ation4-1t4-ju4t-A-bAby-R4A}
0x2E [BJDCTF2020]RSA
爆破得到e=52361
q是两个n的最大公因数,用gcd函数求q,BJD{p_is_common_divisor}
0x2F [NCTF2019]babyRSA
c,d已知,用d和e的关系求p,q,再求出n即可
NCTF{70u2_nn47h_14_v3ry_gOO0000000d}
0x30 [AFCTF2018]你能看出这是什么加密么
签到题,afctf{R54_|5_$0_$imp13}
0x31 [WUSTCTF2020]佛说:只能四天
新约佛论禅解密,社会主义核心价值观解密
RLJDQTOVPTQ6O6duws5CD6IB5B52CC57okCaUUC3SO4OSOWG3LynarAVGRZSJRAEYEZ_ooe_doyouknowfence
四节栅栏解密
R5UALCUVJDCGD63RQISZTBOSO54JVBORP5SAT2OEQCWY6CGEO53Z67L_doyouknowCaesar
四位凯撒解密(位移3)
base32解密,wctf2020{ni_hao_xiang_xiang_da_wo}
0x32 [RoarCTF2019]RSA
分解n得到pq,爆破e即可,RoarCTF{wm-l1l11il1l1l11ll11}
0x33 [ACTF新生赛2020]crypto-rsa3
签到题,actf{p_and_q_should_not_be_so_close_in_value}
0x34 [ACTF新生赛2020]crypto-rsa0
签到题,actf{n0w_y0u_see_RSA}
0x35 [V&N2020 公开赛]CRT
考察中国剩余定理(CRT),写脚本
flag{fa71921acdc2a756897d6b0c7ee41a7397386de2e7cde5b6adb525414b93deeb}
0x36 [AFCTF2018]Single
我们有密文,数组arr打乱顺序,是无法逆向的,爆破也不行,f也就不知道
所以直接https://quipqiup.com/,afctf{Oh_U_found_it_nice_tRy}
0x37 [ACTF新生赛2020]crypto-classic0
8位数字爆破,19990306,解压,actf{my_naive_encrytion}
0x38 [BJDCTF2020]编码与调制
16进制转字符,BJD{DifManchestercode}
0x39 [ACTF新生赛2020]crypto-classic1
键盘码,密码为circle,解压得到密文
经典加密,破解key=SPSP,解密,ACTF{WHAT_A_CLASSICAL_VIGENERE}
网友评论