其他分享
首页 > 其他分享> > BUUCTF 每日打卡 2021-4-8

BUUCTF 每日打卡 2021-4-8

作者:互联网

引言

数分高代同一天的周四
宿舍停水,体育课上完没法洗澡
来水了澡堂又关门了
忘记今天版本更新导致活动没有毕业
明天要交的作业还没写
真是倒霉的一天

Morse

这题看题目就猜到是摩斯电码
打开附件:
-…/.----/-…/-…/-…/…–/--…/…-/-…/-…/–…/-…/…–/.----/–…/…–/…—/–…/–…/…-/…/…-./–…/…–/…–/-----/…/…-./…–/…–/…–/…-/…–/…/–…/----./–…/-…
直接解码:
在这里插入图片描述
但是结果包上 flag{} 交上去不行,换成小写也不行
重新看结果,没有 f 之后的字母,可能是十六进制数,再用 ascii 码?
代码如下:

from Crypto.Util.number import *

s = '6 1 6 6 6 3 7 4 6 6 7 B 3 1 7 3 2 7 7 4 5 F 7 3 3 0 5 F 3 3 3 4 3 5 7 9 7 D '
s = s.replace(' ', '').lower()

print(long_to_bytes(int(s, 16)))

结果为 afctf{1s’t_s0_345y}
交上去还是不对,我直接 “?”
把内容用 flag 包起来才行
答案为 flag{1s’t_s0_345y}

Dangerous RSA

看到 e = 3 就知道应该用小公钥指数攻击
https://ctf-wiki.org/crypto/asymmetric/rsa/rsa_e_attack/
代码如下:

from Crypto.Util.number import *
from gmpy2 import iroot

n = '0x52d483c27cd806550fbe0e37a61af2e7cf5e0efb723dfc81174c918a27627779b21fa3c851e9e94188eaee3d5cd6f752406a43fbecb53e80836ff1e185d3ccd7782ea846c2e91a7b0808986666e0bdadbfb7bdd65670a589a4d2478e9adcafe97c6ee23614bcb2ecc23580f4d2e3cc1ecfec25c50da4bc754dde6c8bfd8d1fc16956c74d8e9196046a01dc9f3024e11461c294f29d7421140732fedacac97b8fe50999117d27943c953f18c4ff4f8c258d839764078d4b6ef6e8591e0ff5563b31a39e6374d0d41c8c46921c25e5904a817ef8e39e5c9b71225a83269693e0b7e3218fc5e5a1e8412ba16e588b3d6ac536dce39fcdfce81eec79979ea6872793'
e = '0x3'
c = '0x10652cdfaa6b63f6d7bd1109da08181e500e5643f5b240a9024bfa84d5f2cac9310562978347bb232d63e7289283871efab83d84ff5a7b64a94a79d34cfbd4ef121723ba1f663e514f83f6f01492b4e13e1bb4296d96ea5a353d3bf2edd2f449c03c4a3e995237985a596908adc741f32365'

c = int(c, 16)
n = int(n, 16)
for k in range(0, 100):
    a, b = iroot(c+k*n, 3)
    if b == 1:
        m = a
        print(long_to_bytes(m))
        print(k)
        break

输出结果为:
在这里插入图片描述
出题人还是很仁慈的,k=0 时就让我们找到了

结语

才发现昨天的博客写完了没发,还在草稿箱里,真的不是今天去填昨天的坑啊

睡了睡了,明天要交的高代作业还没写,还要搞 C4
看来有的忙活喽
希望继续坚持

标签:BUUCTF,16,int,高代,flag,2021,print,import,打卡
来源: https://blog.csdn.net/weixin_52446095/article/details/115534099