Second Order Injection - SQLMap
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
SQLMap puede explotar SQLis de segundo orden. Necesitas proporcionar:
La solicitud donde la carga útil de sqlinjection se va a guardar
La solicitud donde la carga útil será ejecutada
La solicitud donde se guarda la carga útil de inyección SQL está indicada como en cualquier otra inyección en sqlmap. La solicitud donde sqlmap puede leer la salida/ejecución de la inyección se puede indicar con --second-url
o con --second-req
si necesitas indicar una solicitud completa desde un archivo.
Ejemplo simple de segundo orden:
En varios casos esto no será suficiente porque necesitarás realizar otras acciones además de enviar la carga útil y acceder a una página diferente.
Cuando esto sea necesario, puedes usar un sqlmap tamper. Por ejemplo, el siguiente script registrará un nuevo usuario usando la carga útil de sqlmap como correo electrónico y cerrará sesión.
Un tamper de SQLMap siempre se ejecuta antes de comenzar un intento de inyección con un payload y tiene que devolver un payload. En este caso, no nos importa el payload, pero nos importa enviar algunas solicitudes, por lo que el payload no se cambia.
Entonces, si por alguna razón necesitamos un flujo más complejo para explotar la inyección SQL de segundo orden como:
Crear una cuenta con el payload de SQLi dentro del campo "email"
Cerrar sesión
Iniciar sesión con esa cuenta (login.txt)
Enviar una solicitud para ejecutar la inyección SQL (second.txt)
Esta línea de sqlmap ayudará:
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)