首页 > 技术文章 > 【攻防世界】cr4-poor-rsa

cdcq 2020-12-19 21:48 原文

这题其实不难,但是掉了几个坑(萌新还是缺乏经验啊)

坑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,愉快地结完就行

推荐阅读