Solution de iamb1713 pour A l'envers

intro misc algo

8 décembre 2023

Table des matières

Description

C’est un simple challenge de codage où il faut envoyer la chaine reçue en l’inversant

Solution

utilisons Python [::-1] pour inverser la chaine. Pour le réseau, j’ai utilisé pwntools pour interagir avec le service, mais requests suffirait amplement.

import pwn

# pwn.context.log_level = "debug"
host = "localhost"
port = 4000

def startExploit():
    try:
        Online()
    except:
        pwn.error("C'était un accident ! UN BANAL ACCIDENT DE TRAPÈZE")
    finally:
        pwn.info("Ah ! C'était donc ça tout ce tintouin.")

def Online():
    pwn.info("C'est pas moi ! j'ai vu, je sais qui c'est, mais je ne dirais rien !")
    conn = pwn.remote(shell, port)

    while conn.can_recv(timeout=1):
        received = conn.recvline()
        print(str(received))
        if received.startswith(b">>> "):
            verlan = received.strip()[:3:-1] + b"\n"
            conn.send(verlan)
        elif received.startswith(b"FCSC"):
            pwn.info("FLAG FOUND")
            pwn.info(str(received))
            return (received)

def main():
    startExploit()

if __name__ == "__main__":
    main()

et hop on le lance

$ python3 exploit.py 
[*] C'est pas moi ! j'ai vu, je sais qui c'est, mais je ne dirais rien !
[+] Opening connection to localhost on port 4000: Done
b'>>> ANSSI\n'
b'Well done, continue!\n'
b'>>> Agence\n'
b'Well done, continue!\n'
b'>>> nationale\n'
b'Well done, continue!\n'
b'>>> Oui\n'
b'Well done, continue!\n'
b'>>> Bonjour\n'
b'Well done, continue!\n'
b'>>> France\n'
b'Well done, continue!\n'
b'>>> baguette\n'
b'Well done, continue!\n'
b'>>> cassoulet\n'
b'Well done, continue!\n'
b'>>> CmqqnvrD\n'
b'Well done, continue!\n'
b'>>> Dz3WRc0h\n'
b'Well done, continue!\n'
b'>>> n8sLScWB\n'
b'Well done, continue!\n'
b'>>> 9pXicFm4\n'
b'Well done, continue!\n'
b'>>> qYNTRryX\n'
b'Well done, continue!\n'
b'>>> wV8hDDmz\n'
b'Well done, continue!\n'
b'>>> AIiELi1H\n'
b'Well done, continue!\n'
b'>>> 97LopDdt\n'
b'Well done, continue!\n'
b'>>> LN3CmOLEaDQQVO8e5WE9MCN5nkG93A67\n'
b'Well done, continue!\n'
b'>>> S94FAf6rY65LBUazLZXNpb5n5PJf86Ak\n'
b'Well done, continue!\n'
b'>>> HpJAY4GASMkh66fuWgP1BVWHWBrCZ3G6\n'
b'Well done, continue!\n'
b'>>> n0E4gazxXEsadX8PMKtVHY7soItPNi5c\n'
b'Well done, continue!\n'
b'>>> eDDm6smY9JYTqMZgu2QlPbw2d8NDViuN\n'
b'Well done, continue!\n'
b'>>> pV0eIYYiosimuRY4pJvmRCfOjisF0q6c\n'
b'Well done, continue!\n'
b'>>> nVhS6kg45VTLoaLdpUskEg846H1ApDmH\n'
b'Well done, continue!\n'
b'>>> q8VwXrqOuhn96c7nZ99SXU7HnqVYUjY9\n'
b'Well done, continue!\n'
b'Congratulations!! Here is your flag:\n'
b'FCSC{7b20416c4f019ea4486e1e5c13d2d1667eebac732268b46268a9b64035ab294d}\n'
[*] FLAG FOUND
[*] b'FCSC{7b20416c4f019ea4486e1e5c13d2d1667eebac732268b46268a9b64035ab294d}\n'
[*] Ah ! C'était donc ça tout ce tintouin.
[*] Closed connection to localhost port 4000

Le flag est donc :

FCSC{7b20416c4f019ea4486e1e5c13d2d1667eebac732268b46268a9b64035ab294d}