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

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *