Bueno analizando un poco el script de unijimpe para generar un sistema de captcha muy simple, pude encontrar una vulnerabilidad XSS la cual es permitida por la ejecución de PHP_SELF.
Es una de las variables de PHP muy OBSOLETA, El nombre de archivo del script ejecutándose actualmente, relativo a la raíz de documentos. Por ejemplo, $_SERVER['PHP_SELF'] en un script en la dirección http://example.com/test.php/foo.bar sería /test.php/foo.bar. La constante __FILE__ contiene la ruta completa y nombre del archivo actual (es decir, incluido).
Si PHP está siendo ejecutado como un procesador de línea de comandos, esta variable contiene el nombre del script a partir de PHP 4.3.0.
Esta variable es muy usada y muy insegura, comúnmente utilizada para apuntar los formularios hacia la misma página.
Un ejemplo básico sería de esta forma:
un ejemplo preciso ejemplarizando el captcha de unijimpe sería: captcha.php/">[Código HTML/JavaScript malicioso].
El resultado sería:
Que es PHP_SELF
Es una de las variables de PHP muy OBSOLETA, El nombre de archivo del script ejecutándose actualmente, relativo a la raíz de documentos. Por ejemplo, $_SERVER['PHP_SELF'] en un script en la dirección http://example.com/test.php/foo.bar sería /test.php/foo.bar. La constante __FILE__ contiene la ruta completa y nombre del archivo actual (es decir, incluido).
Si PHP está siendo ejecutado como un procesador de línea de comandos, esta variable contiene el nombre del script a partir de PHP 4.3.0.
Esta variable es muy usada y muy insegura, comúnmente utilizada para apuntar los formularios hacia la misma página.
Un ejemplo básico sería de esta forma:
Explotación de PHP_SELF
un ejemplo preciso ejemplarizando el captcha de unijimpe sería: captcha.php/">[Código HTML/JavaScript malicioso].
El resultado sería: