chall.py
import string
from secret import MSG
def encryption(msg):
ct = []
for char in msg:
ct.append((123 * char + 18) % 256)
return bytes(ct)
ct = encryption(MSG)
f = open('./msg.enc','w')
f.write(ct.hex())
f.close()
msg.enc
6e0a9372ec49a3f6930ed8723f9df6f6720ed8d89dc4937222ec7214d89d1e0e352ce0aa6ec82bf622227bb70e7fb7352249b7d893c493d8539dec8fb7935d490e7f9d22ec89b7a322ec8fd80e7f8921
sol.py
from Crypto.Util.number import *
ct = '6e0a9372ec49a3f6930ed8723f9df6f6720ed8d89dc4937222ec7214d89d1e0e352ce0aa6ec82bf622227bb70e7fb7352249b7d893c493d8539dec8fb7935d490e7f9d22ec89b7a322ec8fd80e7f8921'
def decryption(ct):
pt = []
for char in ct:
pt.append((char - 18) * inverse(123, 256) % 256)
return bytes(pt)
print(decryption(bytes.fromhex(ct)))
주어진 코드를 보고 암호문을 대상으로 거꾸로 실행하면 된다.
output
b'Th3 nucl34r w1ll 4rr1v3 0n fr1d4y.\nHTB{l00k_47_y0u_r3v3rs1ng_3qu4710n5_c0ngr475}'
HTB{l00k_47_y0u_r3v3rs1ng_3qu4710n5_c0ngr475}
'wargame > hack the box' 카테고리의 다른 글
HTB Lost Modulus writeup (0) | 2023.03.30 |
---|---|
HTB RSAisEasy writeup (0) | 2023.03.30 |
HTB xorxorxor writeup (0) | 2023.03.30 |