CTFs and solutions

This commit is contained in:
emln
2025-04-27 19:24:27 +02:00
commit aa0fe54b3b
426 changed files with 2756 additions and 0 deletions

View File

@ -0,0 +1,47 @@
#!/usr/bin/env python3
from pwn import *
HOST = "130.192.5.212"
PORT = "6532"
server = remote(HOST, PORT)
sleepT = 0.5
# Different IV when CBC therefore different encryption?
for i in range(128):
print('-'*20)
print(server.recv(1024))
payload = (b'A'*32).hex()
server.send(payload)
server.send('\n')
sleep(sleepT)
enc = server.recv(1024).split(b":")[1].split(b'\n')[0].strip()
print(f"Encryption1:{enc}")
enc = bytes.fromhex(enc.decode('utf-8'))
sleep(sleepT)
#payload2 = bytes([d1 ^ e1 for d1, e1 in zip(b'A'*32, enc)])
payload2 = (b'A'*32).hex()
#print(payload2)
#payload2= (b'B'*32).hex()
server.send(payload2)
server.send('\n')
sleep(sleepT)
enc2 = server.recv(1024).split(b":")[1].split(b'\n')[0].strip()
#print(enc)
print(f"Encryption2:{enc2}")
enc2 = bytes.fromhex(enc2.decode('utf-8'))
sleep(sleepT)
if(enc==enc2):
print("ECB")
server.send(b"ECB")
server.send("\n")
else:
print("CBC")
server.send(b"CBC")
server.send("\n")
sleep(sleepT)
#print(server.recv(1024))
sleep(sleepT)
print(server.recv(1024))