BUUCTF密码31到33题
31:[BJDCTF 2nd]Y1nglish-y1ng 1
看题目:
打开附件:
根据经验,用工具爆破一下,
https://quipqiup.com
提交失败,试了很久,想不到那个单词错了
看了wp知道是把最后一个字符改成k
得到
BJD{pyth0n_Brut3_f0rc3_oR_quipquip_AI_Cr4ck}
可以提交
32:世上无难事 1
看题目:
打开附件:打开得到
也像上一题一样爆破了一下
上面的都是可翻译的英文句子,估计这就是这就是flag了
33:RSA2 1
看题目:
打开附件:
这个RSA题目类型是dp+n+e+c=m
可以写脚本做,尝试写了一下实在不会
抄了一下代码
import gmpy2
import rsa
import binascii
p=0
e=65537
c = 140423670976252696807533673586209400575664282100684119784203527124521188996403826597436883766041879067494280957410201958935737360380801845453829293997433414188838725751796261702622028587211560353362847191060306578510511380965162133472698713063592621028959167072781482562673683090590521214218071160287665180751dp=905074498052346904643025132879518330691925174573054004621877253318682675055421970943552016695528560364834446303196939207056642927148093290374440210503657n=248254007851526241177721526698901802985832766176221609612258877371620580060433101538328030305219918697643619814200930679612109885533801335348445023751670478437073055544724280684733298051599167660303645183146161497485358633681492129668802402065797789905550489547645118787266601929429724133167768465309665906113
temp=dp*e
for i in range(1,e) :
if (temp-1)%i==0:
x=(temp-1)//i+1
y=n%x
if y==0:
p=x
break
q=n
//p#'//'代表向下取整,'/'得到的是浮点数d=gmpy2.invert(e,(p-1)*(q-1))
key=rsa.
PrivateKey(n,e,d,p,q)
m=pow(c,d,n)
print(binascii.unhexlify(hex(m)[2:]))
#unhexlify()的作用是返回16进制数对应的字符串
运行得到flag{wow_leaking_dp_breaks_rsa?_98924743502}