rsa_oracle


Код решения:

from pwn import *
# nc titan.picoctf.net 53197

context.log_level = "critical"

r = remote("titan.picoctf.net", 60214)

r.recvuntil(b"decrypt.")
r.sendline(b"E")
r.recvuntil(b"keysize):")


with open("password.enc") as f:
        f = int(f.read())


r.sendline(b"\x02")
r.recvuntil(b"mod n) ")
c_a = int(r.recvline())


r.sendline(b"D")
r.recvuntil(b"decrypt: ")
r.sendline(str(c_a*f).encode())


r.recvuntil(b"mod n): ")
password = int(r.recvline(), 16) // 2
password = password.to_bytes(len(str(password))-7, "big").decode("utf-8")

print(password)

Видео выполнения:


Загрузки

Download files archive