【攻防世界】cr4-poor-rsa
这题其实不难,但是掉了几个坑(萌新还是缺乏经验啊)
坑1:
下载下来的压缩包里居然还是个压缩包。。
还对着包含着一堆\x00的数据处理的半天,看见了key.pub和flag.b64但是没想到居然是套娃包
坑2:
解压完后,key.pub打开是个这
-----BEGIN PUBLIC KEY-----
ME0wDQYJKoZIhvcNAQEBBQADPAAwOQIyUqmeJJ7nzzwMv5Y6AJZhdyvJzfbh4/v8
bkSgel4PiURXqfgcOuEyrFaD01soulwyQkMCAwEAAQ==
-----END PUBLIC KEY-----
根据上下两个分隔符的特征来看,应该是openssl生成的
但是我不知道啊,把这个当成是rc4的密钥,写了半天rc4 ==b
要从里边看出来rsa的信息,需要用openssl指令
openssl rsa -pubin -text -modulus -in key.pub
这里的rsa,publin,text参数我都知道是啥意思了,但是这个modulus死活查不到
坑3:
忘了modulus是模了 ==b
用参数-modulus就可以看见模数n,是16进制的,要转一下再丢factordb分解
坑4:
忘了rsa解密要把所有字节拼成一个巨大整数再求幂
又打了几个月acm之后潜意识就觉得这么做是不可能的,python还是强啊
所有坑都踩完后就是个裸rsa,愉快地结完就行