XSS (reflejado)
interfaz
Código fuente
<?php
header ("X-XSS-Protection: 0");
// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
// Feedback for end user
echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}
?>
Análisis de código
La función array_key_exists comprueba si hay un parámetro llamado "nombre" en el parámetro Get y juzga si el nombre está vacío. Si existe y no está vacío, escriba: Hola nombre. Se puede ver que no se ha juzgado la legalidad del valor de name, y el parámetro name se puede construir para realizar xss.
Paso de infiltración
Paso 1: Ingrese: en el campo de entrada, haga clic en enviar, puede ver la ventana emergente.