web21
Aprendí la nueva postura explosiva de bp y el uso del iterador personalizado. Capturé
el paquete y descubrí que el contenido que queríamos hacer explosiones era este: Autorización: Basic YWRtaW46MQ ==
descifrado base64, y descubrí que era similar a admin: 123456,
así que utilicé un iterador personalizado:
para destruir la contraseña, además, también se
requiere el cifrado base64: se debe prestar especial atención a no codificar estos caracteres en la URL:
puede haber = después del cifrado base64, y se producirán problemas si la codificación URL se realiza en =:
web22
Destruye el subdominio para obtener flag.ctfer.com, visita http://flag.ctfer.com/index.php para obtener flag
web23
Escribe una simple explosión de PHP:
<?php
for($v1=0;$v1<10;$v1++)
for($v2=0;$v2<10;$v2++)
for($v3=0;$v3<10;$v3++){
$v=$v1.$v2.$v3;
$token = md5($v);
if (substr($token, 1, 1) === substr($token, 14, 1) && substr($token, 14, 1) === substr($token, 17, 1)) {
if ((intval(substr($token, 1, 1)) + intval(substr($token, 14, 1)) + substr($token, 17, 1)) / substr($token, 1, 1) === intval(substr($token, 31, 1))) {
echo $v;
}
}
}
?>
La explosión es 422.
web24
Vulnerabilidades de números aleatorios de PHP:
Porque el número aleatorio generado por mt_rand () solo está relacionado con la semilla y el número de veces que se llama a la función. Dé un ejemplo simple para ilustrar este problema. Suponga que se realiza una operación de inicialización usando mt_srand (1111111), y luego se llama a la función mt_rand (). El valor generado por primera vez es a, el valor generado por segunda vez es b , y la tercera La segunda generación es c. Cualquiera que obtenga tal cadena de código ejecutará el mismo resultado que se acaba de describir. Entonces, cuando otros conocen su valor semilla, puede predecir cuál será su próximo valor. Esto es un problema con esta función y no puede funcionar como un número aleatorio verdadero.
El único problema posible es la versión de PHP. Diferentes versiones dan diferentes números aleatorios bajo la misma semilla. Por lo tanto, la versión principal de PHP debería ser la misma.
<?php
mt_srand(372619038);
echo intval(mt_rand());
Obtenga el valor r que se va a pasar.
web25
Sigue siendo una vulnerabilidad de número aleatorio de PHP. Utilice herramientas para destruir las semillas:
Debido a que el entorno de la pregunta es 7.3.11, solo hay 2 semillas que cumplen con las condiciones. Después de intentarlo, la segunda es correcta:
<?php
mt_srand(3430596594);
$a=mt_rand();
$b=mt_rand();
$c=mt_rand();
echo $a."\n";
echo $b."\n";
echo $c."\n";
<?php
$a = 166385267;
$b = 1802191555;
echo $a + $b;
Finalmente, solo pásalo:
web26
No entiendo el significado de esta pregunta, todos los vacíos reciben directamente la bandera:
web27
También aprendí una postura de voladura de pb, voladura de citas. A primera vista, supuse que la fecha de nacimiento en el número de identificación estaba arruinada, pero no sabía cómo hacerlo. Eché un vistazo a WP y la postura era la siguiente:
Obtenga la identificación del estudiante y la contraseña, inicie sesión para obtener la bandera.
web28
No exploté. Miré a WP y la forma de hacer voladuras fue muy extraña, un poco inteligente: