Suite arithmétique
Solution
Création d'un script python qui réalise : - Une requête HTTP GET suir l'url du CTF, - Recupére les informations de la suite arithmétique, - Fais le calcul de la suite - Renvoie le résultat en HTTP POST, - Récupère le flag, - Et l'affiche.
Code source :
import os
import requests
from bs4 import BeautifulSoup
import re
url = "http://challenge01.root-me.org/programmation/ch1/"
requete = requests.get(url)
page = requete.content
page = BeautifulSoup(page,"lxml").text
# Recuperation des cookies de session
for cookie in requete.cookies:
    cookies = {cookie.name: cookie.value}
# Recupération de Un + 1
Exp = re.search(r"(?<=^Un\+1\s=\s).*",page)
Exp = Exp.group(0)
Exp = Exp.replace('[', '(')
Exp = Exp.replace(']', ')')
# Recupération de U0
U_zero = re.search(r"(?<=U0\s=\s).*",page)
U_zero = U_zero.group(0)
U_zero = int(U_zero)
# Recupération du U de fin
U_fin = re.search(r"U\d+\S[^a-zA-Z]",page)
U_fin = U_fin.group(0)
U_fin = U_fin.replace('U', '') 
U_fin = int(U_fin)
# Définition des variables pour les calculs
n = 1
Un = U_zero
# Calcul
for n in range(U_fin):
    Un = eval(Exp)
# Envoie du résultat
url_post=url + f"ep1_v.php?result={Un}"
request_post = requests.post(url_post, cookies=cookies)
# Affichage du résultats
page_result = request_post.text
# Select Flag
flag = re.search(r"(?<=^Congratz! The flag is :).*",page_result)
# Affichage du flag
print("Le flag de la suite arithmétique est :",flag.group(0))