XPATH injection
Join HackenProof Discord server to communicate with experienced hackers and bug bounty hunters!
Hacking Insights Engage with content that delves into the thrill and challenges of hacking
Real-Time Hack News Keep up-to-date with fast-paced hacking world through real-time news and insights
Latest Announcements Stay informed with the newest bug bounties launching and crucial platform updates
Join us on Discord and start collaborating with top hackers today!
Basic Syntax
Una técnica de ataque conocida como XPath Injection se utiliza para aprovechar aplicaciones que forman consultas XPath (XML Path Language) basadas en la entrada del usuario para consultar o navegar documentos XML.
Nodes Described
Las expresiones se utilizan para seleccionar varios nodos en un documento XML. Estas expresiones y sus descripciones se resumen a continuación:
nodename: Se seleccionan todos los nodos con el nombre "nodename".
/: La selección se realiza desde el nodo raíz.
//: Se seleccionan los nodos que coinciden con la selección desde el nodo actual, independientemente de su ubicación en el documento.
.: Se selecciona el nodo actual.
..: Se selecciona el padre del nodo actual.
@: Se seleccionan los atributos.
XPath Examples
Ejemplos de expresiones de ruta y sus resultados incluyen:
bookstore: Se seleccionan todos los nodos llamados "bookstore".
/bookstore: Se selecciona el elemento raíz bookstore. Se observa que una ruta absoluta a un elemento se representa por una ruta que comienza con una barra (/).
bookstore/book: Se seleccionan todos los elementos book que son hijos de bookstore.
//book: Se seleccionan todos los elementos book en el documento, independientemente de su ubicación.
bookstore//book: Se seleccionan todos los elementos book que son descendientes del elemento bookstore, sin importar su posición bajo el elemento bookstore.
//@lang: Se seleccionan todos los atributos llamados lang.
Utilization of Predicates
Se utilizan predicados para refinar las selecciones:
/bookstore/book[1]: Se selecciona el primer elemento book hijo del elemento bookstore. Una solución alternativa para las versiones de IE 5 a 9, que indexan el primer nodo como [0], es establecer el SelectionLanguage en XPath a través de JavaScript.
/bookstore/book[last()]: Se selecciona el último elemento book hijo del elemento bookstore.
/bookstore/book[last()-1]: Se selecciona el penúltimo elemento book hijo del elemento bookstore.
/bookstore/book[position()<3]: Se seleccionan los dos primeros elementos book hijos del elemento bookstore.
//title[@lang]: Se seleccionan todos los elementos title con un atributo lang.
//title[@lang='en']: Se seleccionan todos los elementos title con un valor de atributo "lang" de "en".
/bookstore/book[price>35.00]: Se seleccionan todos los elementos book de la bookstore con un precio mayor a 35.00.
/bookstore/book[price>35.00]/title: Se seleccionan todos los elementos title de los elementos book de la bookstore con un precio mayor a 35.00.
Handling of Unknown Nodes
Se emplean comodines para hacer coincidir nodos desconocidos:
*: Coincide con cualquier nodo de elemento.
@*: Coincide con cualquier nodo de atributo.
node(): Coincide con cualquier nodo de cualquier tipo.
Más ejemplos incluyen:
/bookstore/*: Selecciona todos los nodos de elementos hijo del elemento bookstore.
//*: Selecciona todos los elementos en el documento.
//title[@*]: Selecciona todos los elementos title con al menos un atributo de cualquier tipo.
Example
Acceder a la información
Identificar y robar el esquema
Bypass de Autenticación
Ejemplo de consultas:
OR eludir en usuario y contraseña (mismo valor en ambos)
Abusando de la inyección nula
Doble OR en el nombre de usuario o en la contraseña (es válido con solo 1 campo vulnerable)
IMPORTANTE: Tenga en cuenta que "y" es la primera operación realizada.
Extracción de cadenas
La salida contiene cadenas y el usuario puede manipular los valores para buscar:
Explotación Ciega
Obtener la longitud de un valor y extraerlo mediante comparaciones:
Ejemplo de Python
Leer archivo
Explotación OOB
Herramienta automática
Referencias
¡Únete al servidor de HackenProof Discord para comunicarte con hackers experimentados y cazadores de recompensas por errores!
Perspectivas de Hacking Interactúa con contenido que profundiza en la emoción y los desafíos del hacking
Noticias de Hackeo en Tiempo Real Mantente al día con el mundo del hacking de ritmo rápido a través de noticias e información en tiempo real
Últimos Anuncios Mantente informado sobre las nuevas recompensas por errores que se lanzan y actualizaciones cruciales de la plataforma
Únete a nosotros en Discord y comienza a colaborar con los mejores hackers hoy mismo!
Last updated