Buka terminal di kalilinux
Buat file python dengan nama nopadding.py
touch nopadding.py
Edit isinya dengan nano nopadding.py dengan isi codingan
from pwn import *
import binascii
r = remote(‘mercury.picoctf.net’, 60368)
r.recvlines(4)
r.recvuntil(b’n: ‘)
n = int(r.recvline().strip())
r.recvuntil(b’e: ‘)
e = int(r.recvline().strip())
r.recvuntil(b’ciphertext: ‘)
c = int(r.recvline().strip())
# Calculate payload
payload = c * pow(2,e,n)
r.sendlineafter(b’Give me ciphertext to decrypt: ‘, str(payload))
r.recvuntil(b’Here you go: ‘)
doubled_plain = int(r.recvline().strip())
print(“Doubled Plain:”, doubled_plain)
# Calculate plain text
plain_hex = hex(doubled_plain // 2)[2:] # Remove ‘0x’ prefix
plain_bytes = bytes.fromhex(plain_hex)
print(“Plain Text Hex:”, plain_hex)
print(“Plain Text:”, plain_bytes.decode())
r.close()
Di bagian remote (cek yang ditandai kuning), pastikan sesuai dengan yang diberikan picoctf

Jalankan file python
python nopadding.py
jika terjadi eror berarti kita harus menginstall pwntools terlebih dahulu
perintah :
python3 -m venv myenv : Perintah ini digunakan untuk membuat virtual environment Python bernama myenv.
source myenv/bin/activate : Ini perintah di shell (bash/zsh) untuk menjalankan script di dalam terminal saat ini, bukan bikin terminal baru.
pip install pwntools
lalu :
python nopadding.py
Maka akan didapatkan flag

0 Comments