mirror of
https://github.com/autistic-symposium/sec-pentesting-toolkit.git
synced 2025-04-27 19:16:08 -04:00
63 lines
939 B
Python
63 lines
939 B
Python
#!/usr/bin/python
|
|
|
|
__author__ = "bt3gl"
|
|
__email__ = "bt3gl@gmail.com"
|
|
|
|
|
|
import decimal
|
|
import socket
|
|
|
|
|
|
|
|
|
|
def bs_paillier(lo, hi, s):
|
|
if hi < lo: return None
|
|
mid = (hi + lo) // 2
|
|
print("We are at: ")
|
|
print(mid)
|
|
|
|
s.send(b'E')
|
|
s.recv(4096)
|
|
s.send(str(mid)[:-1])
|
|
ans = s.recv(4096)
|
|
|
|
if 'None' in ans:
|
|
print "Found it!"
|
|
return mid + 1
|
|
elif 'Your secret' in ans:
|
|
return bs_paillier(lo, mid-1, s)
|
|
else:
|
|
return bs_paillier(mid+1, hi, s)
|
|
|
|
|
|
|
|
|
|
def get_mod_paillier():
|
|
|
|
# create socket, answer first question
|
|
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
s.connect((HOST, PORT))
|
|
s.recv(4096)
|
|
s.send(b'paillier')
|
|
s.recv(4096)
|
|
|
|
# start binary search
|
|
hi = pow(11,307)
|
|
lo = pow(10,307)
|
|
mod = bs_paillier(lo, hi, s)
|
|
print mod
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
PORT = 12445
|
|
HOST = 'asis-ctf.ir'
|
|
|
|
get_mod_paillier()
|
|
|
|
|
|
|
|
|
|
|