Guía de pruebas de owasp ver 3.0

Page 266

<node attrib="$inputValue"/>

Entonces, si: $inputValue = foo"

la sustitución será: <node attrib="foo""/>

y el documento XML ya no volverá a ser válido. Paréntesis Angular: > y < - Añadiendo un paréntesis angular abierto o cerrado en los datos proporcionados por un usuario de esta forma: Username = foo<

La aplicación construirá un nuevo nodo: <user> <username>foo<</username> <password>Un6R34kb!e</password> <userid>500</userid> <mail>s4tan@hell.com</mail> </user>

pero la presencia de un '<' abierto invalidará los datos xml. Etiqueta de Comentario: <!--/--> - Esta secuencia de caracteres se interpreta como el comienzo/final de un comentario. Así que inyectando uno de ellos en el parámetro Username: Username = foo<!--

La aplicación construirá un nodo como el siguiente: <user> <username>foo<!--</username> <password>Un6R34kb!e</password> <userid>500</userid> <mail>s4tan@hell.com</mail> </user>

que no será una secuencia XML válida. Ampersand: & - El signo “ampersand” se utiliza en la sintaxis XML para representar entidades XML. Es decir, utilizando una entidad arbitraria como '&symbol;' es posible mapearla con un carácter o una cadena que serán considerados como texto no-XML. Por ejemplo: <tagnode><</tagnode>

está bien formado y es válido, representa al carácter ASCII '<' . Si ‘&’ no está codificado como & se podría utilizar para comprobar la presencia de inyección XML. De hecho si se proporciona una entrada como la siguiente: Username = &foo

266


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.