Easy Peasy


Код решения:

# solve.py
from pwn import *

def main():

        KEY_LEN = 50000
        r = remote("mercury.picoctf.net", 20266)
# nc mercury.picoctf.net 20266
        r.recvuntil(b"flag!\n")
        c = r.recvline().decode()
        print(f'Encrypted flag: ' + c)
        c_len = (len(c) - 1) // 2
        print(f"Key length: ", c_len)


        temp = b'A'*(KEY_LEN-c_len)
        r.sendlineafter(b"encrypt? ", temp)
        r.sendlineafter(b"encrypt? ", bytes.fromhex(c))
        r.recvline()
        flag = r.recvline()

        print(f'\n\n\n\n')
        flag = flag.decode()
        print(f"-----BEGIN PICOCTF EASY PEASY FLAG-----\n\n\n")
        print(b"picoCTF{" + bytes.fromhex(flag) + b"}")
        print(f"\n\n\n-----END PICOCTF EASY PEASY FLAG-----\n\n\n\n\n\n\n")
if __name__ == "__main__":
        main()
'''
[+] Opening connection to mercury.picoctf.net on port 20266: Done
Encrypted flag: 5b1e564b6e415c0e394e0401384b08553a4e5c597b6d4a5c5a684d50013d6e4b

Key length:  32





-----BEGIN PICOCTF EASY PEASY FLAG-----



b'picoCTF{99072996e6f7d397f6ea0128b4517c23}'



-----END PICOCTF EASY PEASY FLAG-----







[*] Closed connection to mercury.picoctf.net port 20266
'''

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


Загрузки

Download files archive