-
-
[原创]看雪CTF2017 第十题分析
-
2017-6-20 14:04 2759
-
cm没有什么校验,也没有加密,实在是我等小菜的福音。
使用x64dbg搜索字符串知道使用了gmplib。
正好我以前也用过,还算比较熟悉,还给gmplib提交过代码呢,哈哈。
然后用ida反编译,结合动态调试,猜出每个函数的意义。
这里知道输入为70长度,然后动态调试发现前面6位存一个,后面64位存一个。
接下来的就是标准rsa了。c1其实是N,C2是D,前6位是e,后面64位是p、q中的一个。代码里面有一句比较,这里会校验到底是p还是q。
现在我们知道了N和D,上网搜了下可以解决。
根据里面有这个链接:
http://www.di-mgt.com.au/rsa_factorize_n.html
但是本来是已知n,d,e求p,q的,现在e不知道,我只能暴力破解了。
因为没有什么依赖性,所以我写了3个范围同时跑,一个从前面开始跑,一个从后面倒着跑,一个从中间跑。
经过4个多小时结果出来了。
e+p或者e+q即为答案,注意是全大写,e为十六进制。
[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。
赞赏
他的文章
看原图