SlideShare una empresa de Scribd logo
1 de 26
BlindXPathInjection Pedro Laguna
Agenda ¿Qué es XPath? Consultas XPath XPathInjection BlindXPathInjection Sacar el numero de nodos y atributos Sacar la longitud de nodos y atrib… Sacar el nombre de ya sabeis que :P Sacar el contenido Y ahora… ¡Todo junto!
XPath Existen dos versiones: 1.0 y 2.0 La 1.0 es una recomendación de la W3C del 16 de noviembre de 1999 Permite realizar busquedas en ficheros XML Nos podemos referir a cualquier contenido del fichero de una manera rapida Devuelve arrays con la informacionextraida
Conceptos en XPath <charlas> 	 <!– Esto es un XML muy simple… --> <charla id=“2”> 	<titulo>BlindXPathInjection</titulo> 	<ponente>Pedro Laguna</ponente> 	<?processinghref=“charla.css” style=“text/css” ?> </charla> </charlas> COMENTARIO NODO ATRIBUTO CONTENIDO PROCESSING-INSTRUCTION
Elementos en XPath 4 tipos de elementos Nodo: Puede contener al resto de tipos Text: Contiene texto Comment: Un comentario de XML Processing-instruction: Instrucción para ejecutar comandos XSLT en el fichero XML
Preguntando… ¿Cuál es la charla? /charlas/charla/titulo ¿Cuál es el id de la charla? /charlas/charla/@id ¿La charla de la que es ponente Pedro? /charlas/charla[ponente = “Pedro Laguna”]
Operadores and or < > <= >= = != ,[object Object],[object Object]
XPathInjection ¿Por qué funciona?  login = “a” or “a”=“a” or “a”=“b” and password = “asdf” OR CIERTO FALSO ¡Estamos dentro!
DEMO XPathInjection en campos de login
BlindXPathInjection Nos permite extraer todo el arbol XML Vamos a seguir el siguiente procedimiento: Extraer el numero de nodos y atributos Sacar la longitud de los nodos y los atributos Extraer el nombre de los nodos y atributos Extraer el contenido de los nodos y los atributos
Consultas “avanzadas” en XPath Seleccionar la raiz del arbol XML / Seleccionar todos los elementos: Nodos: //child::node() Texto: //child::* Comentarios: //child::comment() Processing-instructions: //child:processing-instruction() Seleccionar todos los atributos: //attribute::* o //@* Seleccionar el primer subnodo de un nodo: /nodo/subnodo[1]
Funciones disponibles en XPath text() Selecciona el texto contenido dentro de los nodos name() Selecciona el nombre de los nodos y atributos position() Devuelve el indice del elemento count(consulta) Cuenta el numero de elementos devueltos por la consulta starts-with(string, string) Devuelve true si la primera cadena empieza por la segunda contains(string, string) Devuelve true si la primera cadena contiene la segunda string-length(string) Devuelve la longitud de la cadena
Numero total de nodos y atributos count(//child::*) Cuenta el numero total de nodos y subnodos count(//@*) Cuenta el numero total de atributos p.e. 2” and count(//child::*) > 0 or “a”=“b 2” and count(/users/user/@*) > 0 or “a”=“b
Longitud de nodos y atributos /nodo/subnodo/child::*[position()=X and string-length(name()) > 0] Devuelve la longitud del nodoqueeste en la posicion X /nodo/subnodo/@*[position()=X and string-length(name()) > 0] Devuelve la longitud del atributoqueeste en la posicion X
Reduccion de charset /nodo/subnodo[X]/child::*[position()=Y and contains(name(), 'abc')] Devuelveciertosi el subnodoXtiene en la posicionY un nodoquecontiene la cadenaabc /nodo/subnodo[X]/@*[position()=Y and contains(name(), 'abc')] Devuelveciertosi el subnodoXtiene en la posicionY un nodoquecontiene la cadenaabc
Búsqueda binaria Sabiendo la longitud y el charset de un elemento se podría reducir el numero de consultas a realizar
Nombre de nodos y atributos /nodo/subnodo[1]/child::*[position() = 1 and starts-with(name(), ‘abc') Devuelveciertosi el primer nodoempieza con abc /nodo/subnodo[1]/@*[position() = 1 and starts-with(name(), ‘abc')] Devuelve cierto si el primer atributo del subnodo empieza con abc
Información contenida en nodos y atributos Longitud de nodos y atributos string-length(/nodo/subnodo[X]/campo) > 0 Devuelve la longitud del contenido del nodo campo dentro del subnodo en la posicionX string-length(/nodo/subnodo[X]/@atrib) > 0 Devuelve la longitud del contenido del atributo atribdentro del subnodo en la posicionX
Información contenida en nodos y atributos Texto de nodos y atributos starts-with(/nodo/subnodo[X]/campo,’abc’) Devuelve cierto si el campo del subnodoX empieza por la cadena abc starts-with(/nodo/subnodo[X]/@atrib,’abc’) Devuelve cierto si el atributo del subnodoX empieza por la cadena abc Evidentemente también se puede hacer reducción de charset y búsqueda binaria…
Y ahora… ¡Todo junto! Demostración de BXI
Universal XPathInjection Nos permite extraer todo el contenido de los nodos sin conocer nada acerca del arbol No se puede hacer lo mismo con atributos, comentarios o processinginstructions. Se basa en las consultas: Longitud: string-length(//child::*) > 0 Reduccioncharset: contains(//child::*) Extraccion: starts-with(//child::*, ‘abc’)
DEMO Axolote
Conclusiones Mediante XPath podemos acceder a todo el contenido del fichero En campos de login hacer uso de BlindXPathInjection es abusar un poco :P De nuevo, filtrar los parámetros se convierte en condición indispensable UXI vale para casos en los que la mayor parte de la información esta contenida en los nodos
http://www.equilibrioinestable.com/
¿Preguntas? Pedro Laguna plaguna@informatica64.com http://www.equilibrioinestable.com/
Blind X Path Injection

Más contenido relacionado

La actualidad más candente (12)

Programacion logica
Programacion logicaProgramacion logica
Programacion logica
 
Clase de ejemplo de implementación de una pila con punteros como tda
Clase de ejemplo de implementación de una pila con punteros como tdaClase de ejemplo de implementación de una pila con punteros como tda
Clase de ejemplo de implementación de una pila con punteros como tda
 
Formato de ppt
Formato de pptFormato de ppt
Formato de ppt
 
Compresion de archivos
Compresion de archivosCompresion de archivos
Compresion de archivos
 
Jyoc java-cap20 listas, colas y pilas
Jyoc java-cap20 listas, colas y pilasJyoc java-cap20 listas, colas y pilas
Jyoc java-cap20 listas, colas y pilas
 
Firewall de linux.
Firewall de linux. Firewall de linux.
Firewall de linux.
 
Subconjuntos
SubconjuntosSubconjuntos
Subconjuntos
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Mule Librerias en Java
Mule Librerias en JavaMule Librerias en Java
Mule Librerias en Java
 
Kruskal
KruskalKruskal
Kruskal
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
C++
C++C++
C++
 

Destacado

PenTest Magazine Teaser - Mobile Hacking
PenTest Magazine Teaser - Mobile HackingPenTest Magazine Teaser - Mobile Hacking
PenTest Magazine Teaser - Mobile HackingAditya K Sood
 
Dissecting Java Server Faces for Penetration Testing
Dissecting Java Server Faces for Penetration Testing Dissecting Java Server Faces for Penetration Testing
Dissecting Java Server Faces for Penetration Testing Aditya K Sood
 
Defending against Java Deserialization Vulnerabilities
 Defending against Java Deserialization Vulnerabilities Defending against Java Deserialization Vulnerabilities
Defending against Java Deserialization VulnerabilitiesLuca Carettoni
 
AMSI: How Windows 10 Plans to Stop Script-Based Attacks and How Well It Does It
AMSI: How Windows 10 Plans to Stop Script-Based Attacks and How Well It Does ItAMSI: How Windows 10 Plans to Stop Script-Based Attacks and How Well It Does It
AMSI: How Windows 10 Plans to Stop Script-Based Attacks and How Well It Does ItNikhil Mittal
 
BruCon (Brussels 2011) Hacking Conference - Botnets and Browsers (Brothers in...
BruCon (Brussels 2011) Hacking Conference - Botnets and Browsers (Brothers in...BruCon (Brussels 2011) Hacking Conference - Botnets and Browsers (Brothers in...
BruCon (Brussels 2011) Hacking Conference - Botnets and Browsers (Brothers in...Aditya K Sood
 
BlackHat Arsenal 2014 - C-SCAD : Assessing Security Flaws in C-SCAD WebX Clie...
BlackHat Arsenal 2014 - C-SCAD : Assessing Security Flaws in C-SCAD WebX Clie...BlackHat Arsenal 2014 - C-SCAD : Assessing Security Flaws in C-SCAD WebX Clie...
BlackHat Arsenal 2014 - C-SCAD : Assessing Security Flaws in C-SCAD WebX Clie...Aditya K Sood
 

Destacado (6)

PenTest Magazine Teaser - Mobile Hacking
PenTest Magazine Teaser - Mobile HackingPenTest Magazine Teaser - Mobile Hacking
PenTest Magazine Teaser - Mobile Hacking
 
Dissecting Java Server Faces for Penetration Testing
Dissecting Java Server Faces for Penetration Testing Dissecting Java Server Faces for Penetration Testing
Dissecting Java Server Faces for Penetration Testing
 
Defending against Java Deserialization Vulnerabilities
 Defending against Java Deserialization Vulnerabilities Defending against Java Deserialization Vulnerabilities
Defending against Java Deserialization Vulnerabilities
 
AMSI: How Windows 10 Plans to Stop Script-Based Attacks and How Well It Does It
AMSI: How Windows 10 Plans to Stop Script-Based Attacks and How Well It Does ItAMSI: How Windows 10 Plans to Stop Script-Based Attacks and How Well It Does It
AMSI: How Windows 10 Plans to Stop Script-Based Attacks and How Well It Does It
 
BruCon (Brussels 2011) Hacking Conference - Botnets and Browsers (Brothers in...
BruCon (Brussels 2011) Hacking Conference - Botnets and Browsers (Brothers in...BruCon (Brussels 2011) Hacking Conference - Botnets and Browsers (Brothers in...
BruCon (Brussels 2011) Hacking Conference - Botnets and Browsers (Brothers in...
 
BlackHat Arsenal 2014 - C-SCAD : Assessing Security Flaws in C-SCAD WebX Clie...
BlackHat Arsenal 2014 - C-SCAD : Assessing Security Flaws in C-SCAD WebX Clie...BlackHat Arsenal 2014 - C-SCAD : Assessing Security Flaws in C-SCAD WebX Clie...
BlackHat Arsenal 2014 - C-SCAD : Assessing Security Flaws in C-SCAD WebX Clie...
 

Similar a Blind X Path Injection

Seguridad en PDF: Adobe ¬¬
Seguridad en PDF: Adobe ¬¬Seguridad en PDF: Adobe ¬¬
Seguridad en PDF: Adobe ¬¬Alejandro Ramos
 
Csi: siempre quisiste ser forense
Csi: siempre quisiste ser forenseCsi: siempre quisiste ser forense
Csi: siempre quisiste ser forenseEventos Creativos
 
Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬Alejandro Ramos
 
Educación para el desarrollo humano apartar de
Educación para el desarrollo humano apartar deEducación para el desarrollo humano apartar de
Educación para el desarrollo humano apartar dedanie12angie
 
Tema 3 xml processing ap is
Tema 3   xml processing ap isTema 3   xml processing ap is
Tema 3 xml processing ap isxkorpium
 
informacion sobre blog datos y sql
informacion sobre blog datos y sqlinformacion sobre blog datos y sql
informacion sobre blog datos y sqldanie12angie
 
Scala en proyectos de vinculación Ancap-UR - 2013-03
Scala en proyectos de vinculación Ancap-UR - 2013-03Scala en proyectos de vinculación Ancap-UR - 2013-03
Scala en proyectos de vinculación Ancap-UR - 2013-03Germán Ferrari
 
Informe tecnico u 4-victor uex
Informe tecnico u 4-victor uexInforme tecnico u 4-victor uex
Informe tecnico u 4-victor uexvictoruex
 
Informe estructuras no lineales
Informe estructuras no linealesInforme estructuras no lineales
Informe estructuras no linealeseliezerbs
 
Teoria memorias cache
Teoria memorias cacheTeoria memorias cache
Teoria memorias cachecurrocordoba
 
Informe estructuras no lineales unidad 4
Informe estructuras no lineales unidad 4Informe estructuras no lineales unidad 4
Informe estructuras no lineales unidad 4Eliu Osseas Puc Puc
 
Python Tutorial Presentation
Python Tutorial PresentationPython Tutorial Presentation
Python Tutorial Presentationguestccc92ad
 
5/9 Curso JEE5, Soa, Web Services, ESB y XML
5/9 Curso JEE5, Soa, Web Services, ESB y XML5/9 Curso JEE5, Soa, Web Services, ESB y XML
5/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
Cadena de caracteres
Cadena de caracteresCadena de caracteres
Cadena de caractereszerorendan
 

Similar a Blind X Path Injection (20)

Seguridad en PDF: Adobe ¬¬
Seguridad en PDF: Adobe ¬¬Seguridad en PDF: Adobe ¬¬
Seguridad en PDF: Adobe ¬¬
 
Csi: siempre quisiste ser forense
Csi: siempre quisiste ser forenseCsi: siempre quisiste ser forense
Csi: siempre quisiste ser forense
 
Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬Seguridad en PDF - Adobe ¬¬
Seguridad en PDF - Adobe ¬¬
 
Educación para el desarrollo humano apartar de
Educación para el desarrollo humano apartar deEducación para el desarrollo humano apartar de
Educación para el desarrollo humano apartar de
 
Tema 3 xml processing ap is
Tema 3   xml processing ap isTema 3   xml processing ap is
Tema 3 xml processing ap is
 
informacion sobre blog datos y sql
informacion sobre blog datos y sqlinformacion sobre blog datos y sql
informacion sobre blog datos y sql
 
Scala en proyectos de vinculación Ancap-UR - 2013-03
Scala en proyectos de vinculación Ancap-UR - 2013-03Scala en proyectos de vinculación Ancap-UR - 2013-03
Scala en proyectos de vinculación Ancap-UR - 2013-03
 
XPath
XPathXPath
XPath
 
Programación de código
Programación de códigoProgramación de código
Programación de código
 
Informe tecnico u 4-victor uex
Informe tecnico u 4-victor uexInforme tecnico u 4-victor uex
Informe tecnico u 4-victor uex
 
Tema1oficial
Tema1oficialTema1oficial
Tema1oficial
 
Informe estructuras no lineales
Informe estructuras no linealesInforme estructuras no lineales
Informe estructuras no lineales
 
Thread
ThreadThread
Thread
 
Cplus
CplusCplus
Cplus
 
Dom
DomDom
Dom
 
Teoria memorias cache
Teoria memorias cacheTeoria memorias cache
Teoria memorias cache
 
Informe estructuras no lineales unidad 4
Informe estructuras no lineales unidad 4Informe estructuras no lineales unidad 4
Informe estructuras no lineales unidad 4
 
Python Tutorial Presentation
Python Tutorial PresentationPython Tutorial Presentation
Python Tutorial Presentation
 
5/9 Curso JEE5, Soa, Web Services, ESB y XML
5/9 Curso JEE5, Soa, Web Services, ESB y XML5/9 Curso JEE5, Soa, Web Services, ESB y XML
5/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Cadena de caracteres
Cadena de caracteresCadena de caracteres
Cadena de caracteres
 

Más de Chema Alonso

CyberCamp 2015: Low Hanging Fruit
CyberCamp 2015: Low Hanging FruitCyberCamp 2015: Low Hanging Fruit
CyberCamp 2015: Low Hanging FruitChema Alonso
 
Índice Pentesting con Kali 2.0
Índice Pentesting con Kali 2.0Índice Pentesting con Kali 2.0
Índice Pentesting con Kali 2.0Chema Alonso
 
Configurar y utilizar Latch en Magento
Configurar y utilizar Latch en MagentoConfigurar y utilizar Latch en Magento
Configurar y utilizar Latch en MagentoChema Alonso
 
Cazando Cibercriminales con: OSINT + Cloud Computing + Big Data
Cazando Cibercriminales con: OSINT + Cloud Computing + Big DataCazando Cibercriminales con: OSINT + Cloud Computing + Big Data
Cazando Cibercriminales con: OSINT + Cloud Computing + Big DataChema Alonso
 
New Paradigms of Digital Identity: Authentication & Authorization as a Servic...
New Paradigms of Digital Identity: Authentication & Authorization as a Servic...New Paradigms of Digital Identity: Authentication & Authorization as a Servic...
New Paradigms of Digital Identity: Authentication & Authorization as a Servic...Chema Alonso
 
CritoReto 4: Buscando una aguja en un pajar
CritoReto 4: Buscando una aguja en un pajarCritoReto 4: Buscando una aguja en un pajar
CritoReto 4: Buscando una aguja en un pajarChema Alonso
 
Dorking & Pentesting with Tacyt
Dorking & Pentesting with TacytDorking & Pentesting with Tacyt
Dorking & Pentesting with TacytChema Alonso
 
Pentesting con PowerShell: Libro de 0xWord
Pentesting con PowerShell: Libro de 0xWordPentesting con PowerShell: Libro de 0xWord
Pentesting con PowerShell: Libro de 0xWordChema Alonso
 
Recuperar dispositivos de sonido en Windows Vista y Windows 7
Recuperar dispositivos de sonido en Windows Vista y Windows 7Recuperar dispositivos de sonido en Windows Vista y Windows 7
Recuperar dispositivos de sonido en Windows Vista y Windows 7Chema Alonso
 
It's a Kind of Magic
It's a Kind of MagicIt's a Kind of Magic
It's a Kind of MagicChema Alonso
 
Ingenieros y hackers
Ingenieros y hackersIngenieros y hackers
Ingenieros y hackersChema Alonso
 
Cuarta Edición del Curso Online de Especialización en Seguridad Informática p...
Cuarta Edición del Curso Online de Especialización en Seguridad Informática p...Cuarta Edición del Curso Online de Especialización en Seguridad Informática p...
Cuarta Edición del Curso Online de Especialización en Seguridad Informática p...Chema Alonso
 
Auditoría de TrueCrypt: Informe final fase II
Auditoría de TrueCrypt: Informe final fase IIAuditoría de TrueCrypt: Informe final fase II
Auditoría de TrueCrypt: Informe final fase IIChema Alonso
 
El juego es el mismo
El juego es el mismoEl juego es el mismo
El juego es el mismoChema Alonso
 
El Hardware en Apple ¿Es tan bueno?
El Hardware en Apple ¿Es tan bueno?El Hardware en Apple ¿Es tan bueno?
El Hardware en Apple ¿Es tan bueno?Chema Alonso
 
Latch en Linux (Ubuntu): El cerrojo digital
Latch en Linux (Ubuntu): El cerrojo digitalLatch en Linux (Ubuntu): El cerrojo digital
Latch en Linux (Ubuntu): El cerrojo digitalChema Alonso
 
Hacking con Python
Hacking con PythonHacking con Python
Hacking con PythonChema Alonso
 
Tu iPhone es tan (in)seguro como tu Windows
Tu iPhone es tan (in)seguro como tu WindowsTu iPhone es tan (in)seguro como tu Windows
Tu iPhone es tan (in)seguro como tu WindowsChema Alonso
 

Más de Chema Alonso (20)

CyberCamp 2015: Low Hanging Fruit
CyberCamp 2015: Low Hanging FruitCyberCamp 2015: Low Hanging Fruit
CyberCamp 2015: Low Hanging Fruit
 
Índice Pentesting con Kali 2.0
Índice Pentesting con Kali 2.0Índice Pentesting con Kali 2.0
Índice Pentesting con Kali 2.0
 
Configurar y utilizar Latch en Magento
Configurar y utilizar Latch en MagentoConfigurar y utilizar Latch en Magento
Configurar y utilizar Latch en Magento
 
Cazando Cibercriminales con: OSINT + Cloud Computing + Big Data
Cazando Cibercriminales con: OSINT + Cloud Computing + Big DataCazando Cibercriminales con: OSINT + Cloud Computing + Big Data
Cazando Cibercriminales con: OSINT + Cloud Computing + Big Data
 
New Paradigms of Digital Identity: Authentication & Authorization as a Servic...
New Paradigms of Digital Identity: Authentication & Authorization as a Servic...New Paradigms of Digital Identity: Authentication & Authorization as a Servic...
New Paradigms of Digital Identity: Authentication & Authorization as a Servic...
 
CritoReto 4: Buscando una aguja en un pajar
CritoReto 4: Buscando una aguja en un pajarCritoReto 4: Buscando una aguja en un pajar
CritoReto 4: Buscando una aguja en un pajar
 
Dorking & Pentesting with Tacyt
Dorking & Pentesting with TacytDorking & Pentesting with Tacyt
Dorking & Pentesting with Tacyt
 
Pentesting con PowerShell: Libro de 0xWord
Pentesting con PowerShell: Libro de 0xWordPentesting con PowerShell: Libro de 0xWord
Pentesting con PowerShell: Libro de 0xWord
 
Foca API v0.1
Foca API v0.1Foca API v0.1
Foca API v0.1
 
Recuperar dispositivos de sonido en Windows Vista y Windows 7
Recuperar dispositivos de sonido en Windows Vista y Windows 7Recuperar dispositivos de sonido en Windows Vista y Windows 7
Recuperar dispositivos de sonido en Windows Vista y Windows 7
 
It's a Kind of Magic
It's a Kind of MagicIt's a Kind of Magic
It's a Kind of Magic
 
Ingenieros y hackers
Ingenieros y hackersIngenieros y hackers
Ingenieros y hackers
 
Cuarta Edición del Curso Online de Especialización en Seguridad Informática p...
Cuarta Edición del Curso Online de Especialización en Seguridad Informática p...Cuarta Edición del Curso Online de Especialización en Seguridad Informática p...
Cuarta Edición del Curso Online de Especialización en Seguridad Informática p...
 
Auditoría de TrueCrypt: Informe final fase II
Auditoría de TrueCrypt: Informe final fase IIAuditoría de TrueCrypt: Informe final fase II
Auditoría de TrueCrypt: Informe final fase II
 
El juego es el mismo
El juego es el mismoEl juego es el mismo
El juego es el mismo
 
El Hardware en Apple ¿Es tan bueno?
El Hardware en Apple ¿Es tan bueno?El Hardware en Apple ¿Es tan bueno?
El Hardware en Apple ¿Es tan bueno?
 
Latch en Linux (Ubuntu): El cerrojo digital
Latch en Linux (Ubuntu): El cerrojo digitalLatch en Linux (Ubuntu): El cerrojo digital
Latch en Linux (Ubuntu): El cerrojo digital
 
Hacking con Python
Hacking con PythonHacking con Python
Hacking con Python
 
Shuabang Botnet
Shuabang BotnetShuabang Botnet
Shuabang Botnet
 
Tu iPhone es tan (in)seguro como tu Windows
Tu iPhone es tan (in)seguro como tu WindowsTu iPhone es tan (in)seguro como tu Windows
Tu iPhone es tan (in)seguro como tu Windows
 

Último

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 

Último (20)

Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 

Blind X Path Injection

  • 2. Agenda ¿Qué es XPath? Consultas XPath XPathInjection BlindXPathInjection Sacar el numero de nodos y atributos Sacar la longitud de nodos y atrib… Sacar el nombre de ya sabeis que :P Sacar el contenido Y ahora… ¡Todo junto!
  • 3. XPath Existen dos versiones: 1.0 y 2.0 La 1.0 es una recomendación de la W3C del 16 de noviembre de 1999 Permite realizar busquedas en ficheros XML Nos podemos referir a cualquier contenido del fichero de una manera rapida Devuelve arrays con la informacionextraida
  • 4. Conceptos en XPath <charlas> <!– Esto es un XML muy simple… --> <charla id=“2”> <titulo>BlindXPathInjection</titulo> <ponente>Pedro Laguna</ponente> <?processinghref=“charla.css” style=“text/css” ?> </charla> </charlas> COMENTARIO NODO ATRIBUTO CONTENIDO PROCESSING-INSTRUCTION
  • 5. Elementos en XPath 4 tipos de elementos Nodo: Puede contener al resto de tipos Text: Contiene texto Comment: Un comentario de XML Processing-instruction: Instrucción para ejecutar comandos XSLT en el fichero XML
  • 6. Preguntando… ¿Cuál es la charla? /charlas/charla/titulo ¿Cuál es el id de la charla? /charlas/charla/@id ¿La charla de la que es ponente Pedro? /charlas/charla[ponente = “Pedro Laguna”]
  • 7.
  • 8. XPathInjection ¿Por qué funciona? login = “a” or “a”=“a” or “a”=“b” and password = “asdf” OR CIERTO FALSO ¡Estamos dentro!
  • 9. DEMO XPathInjection en campos de login
  • 10. BlindXPathInjection Nos permite extraer todo el arbol XML Vamos a seguir el siguiente procedimiento: Extraer el numero de nodos y atributos Sacar la longitud de los nodos y los atributos Extraer el nombre de los nodos y atributos Extraer el contenido de los nodos y los atributos
  • 11. Consultas “avanzadas” en XPath Seleccionar la raiz del arbol XML / Seleccionar todos los elementos: Nodos: //child::node() Texto: //child::* Comentarios: //child::comment() Processing-instructions: //child:processing-instruction() Seleccionar todos los atributos: //attribute::* o //@* Seleccionar el primer subnodo de un nodo: /nodo/subnodo[1]
  • 12. Funciones disponibles en XPath text() Selecciona el texto contenido dentro de los nodos name() Selecciona el nombre de los nodos y atributos position() Devuelve el indice del elemento count(consulta) Cuenta el numero de elementos devueltos por la consulta starts-with(string, string) Devuelve true si la primera cadena empieza por la segunda contains(string, string) Devuelve true si la primera cadena contiene la segunda string-length(string) Devuelve la longitud de la cadena
  • 13. Numero total de nodos y atributos count(//child::*) Cuenta el numero total de nodos y subnodos count(//@*) Cuenta el numero total de atributos p.e. 2” and count(//child::*) > 0 or “a”=“b 2” and count(/users/user/@*) > 0 or “a”=“b
  • 14. Longitud de nodos y atributos /nodo/subnodo/child::*[position()=X and string-length(name()) > 0] Devuelve la longitud del nodoqueeste en la posicion X /nodo/subnodo/@*[position()=X and string-length(name()) > 0] Devuelve la longitud del atributoqueeste en la posicion X
  • 15. Reduccion de charset /nodo/subnodo[X]/child::*[position()=Y and contains(name(), 'abc')] Devuelveciertosi el subnodoXtiene en la posicionY un nodoquecontiene la cadenaabc /nodo/subnodo[X]/@*[position()=Y and contains(name(), 'abc')] Devuelveciertosi el subnodoXtiene en la posicionY un nodoquecontiene la cadenaabc
  • 16. Búsqueda binaria Sabiendo la longitud y el charset de un elemento se podría reducir el numero de consultas a realizar
  • 17. Nombre de nodos y atributos /nodo/subnodo[1]/child::*[position() = 1 and starts-with(name(), ‘abc') Devuelveciertosi el primer nodoempieza con abc /nodo/subnodo[1]/@*[position() = 1 and starts-with(name(), ‘abc')] Devuelve cierto si el primer atributo del subnodo empieza con abc
  • 18. Información contenida en nodos y atributos Longitud de nodos y atributos string-length(/nodo/subnodo[X]/campo) > 0 Devuelve la longitud del contenido del nodo campo dentro del subnodo en la posicionX string-length(/nodo/subnodo[X]/@atrib) > 0 Devuelve la longitud del contenido del atributo atribdentro del subnodo en la posicionX
  • 19. Información contenida en nodos y atributos Texto de nodos y atributos starts-with(/nodo/subnodo[X]/campo,’abc’) Devuelve cierto si el campo del subnodoX empieza por la cadena abc starts-with(/nodo/subnodo[X]/@atrib,’abc’) Devuelve cierto si el atributo del subnodoX empieza por la cadena abc Evidentemente también se puede hacer reducción de charset y búsqueda binaria…
  • 20. Y ahora… ¡Todo junto! Demostración de BXI
  • 21. Universal XPathInjection Nos permite extraer todo el contenido de los nodos sin conocer nada acerca del arbol No se puede hacer lo mismo con atributos, comentarios o processinginstructions. Se basa en las consultas: Longitud: string-length(//child::*) > 0 Reduccioncharset: contains(//child::*) Extraccion: starts-with(//child::*, ‘abc’)
  • 23. Conclusiones Mediante XPath podemos acceder a todo el contenido del fichero En campos de login hacer uso de BlindXPathInjection es abusar un poco :P De nuevo, filtrar los parámetros se convierte en condición indispensable UXI vale para casos en los que la mayor parte de la información esta contenida en los nodos
  • 25. ¿Preguntas? Pedro Laguna plaguna@informatica64.com http://www.equilibrioinestable.com/