SQLMap - CheatSheet
Configuración disponible instantáneamente para evaluación de vulnerabilidades y pruebas de penetración. Realiza una prueba de penetración completa desde cualquier lugar con más de 20 herramientas y características que van desde la recopilación de información hasta la elaboración de informes. No reemplazamos a los pentesters; desarrollamos herramientas personalizadas, módulos de detección y explotación para devolverles algo de tiempo para profundizar, abrir shells y divertirse.
Argumentos básicos para SQLmap
Genérico
Recuperar Información
Interno
Datos de la base de datos
Lugar de inyección
Desde la captura de Burp/ZAP
Captura la solicitud y crea un archivo req.txt
Inyección de Solicitud GET
Inyección de Solicitudes POST
Inyecciones en Encabezados y otros Métodos HTTP
Indique la cadena cuando la inyección sea exitosa
Eval
Sqlmap permite el uso de -e
o --eval
para procesar cada carga útil antes de enviarla con una línea de código en python. Esto facilita y acelera el procesamiento de la carga útil de maneras personalizadas antes de enviarla. En el siguiente ejemplo, la sesión de cookie de flask es firmada por flask con el secreto conocido antes de enviarla:
Shell
Leer archivo
Rastrear un sitio web con SQLmap y auto-explotar
Inyección de Segundo Orden
Lee esta publicación sobre cómo realizar inyecciones de segundo orden simples y complejas con sqlmap.
Personalizando la Inyección
Establecer un sufijo
Prefijo
Ayuda para encontrar inyección booleana
Tamper
Recuerda que puedes crear tu propio tamper en python y es muy simple. Puedes encontrar un ejemplo de tamper en la página de Second Order Injection aquí.
Tamper | Descripción |
---|---|
apostrophemask.py | Reemplaza el carácter de apóstrofe con su contraparte de ancho completo en UTF-8 |
apostrophenullencode.py | Reemplaza el carácter de apóstrofe con su contraparte de doble unicode ilegal |
appendnullbyte.py | Agrega un carácter de byte NULL codificado al final de la carga útil |
base64encode.py | Codifica en Base64 todos los caracteres en una carga útil dada |
between.py | Reemplaza el operador mayor que ('>') con 'NOT BETWEEN 0 AND #' |
bluecoat.py | Reemplaza el carácter de espacio después de la declaración SQL con un carácter en blanco aleatorio válido. Luego reemplaza el carácter = con el operador LIKE |
chardoubleencode.py | Codifica doblemente todos los caracteres en una carga útil dada (sin procesar los ya codificados) |
commalesslimit.py | Reemplaza instancias como 'LIMIT M, N' con 'LIMIT N OFFSET M' |
commalessmid.py | Reemplaza instancias como 'MID(A, B, C)' con 'MID(A FROM B FOR C)' |
concat2concatws.py | Reemplaza instancias como 'CONCAT(A, B)' con 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)' |
charencode.py | Codifica en URL todos los caracteres en una carga útil dada (sin procesar los ya codificados) |
charunicodeencode.py | Codifica en unicode-url los caracteres no codificados en una carga útil dada (sin procesar los ya codificados). "%u0022" |
charunicodeescape.py | Codifica en unicode-url los caracteres no codificados en una carga útil dada (sin procesar los ya codificados). "\u0022" |
equaltolike.py | Reemplaza todas las ocurrencias del operador igual ('=') con el operador 'LIKE' |
escapequotes.py | Escapa las comillas (' y ") |
greatest.py | Reemplaza el operador mayor que ('>') con su contraparte 'GREATEST' |
halfversionedmorekeywords.py | Agrega un comentario de MySQL versionado antes de cada palabra clave |
ifnull2ifisnull.py | Reemplaza instancias como 'IFNULL(A, B)' con 'IF(ISNULL(A), B, A)' |
modsecurityversioned.py | Envuelve la consulta completa con un comentario versionado |
modsecurityzeroversioned.py | Envuelve la consulta completa con un comentario de versión cero |
multiplespaces.py | Agrega múltiples espacios alrededor de las palabras clave SQL |
nonrecursivereplacement.py | Reemplaza palabras clave SQL predefinidas con representaciones adecuadas para el reemplazo (por ejemplo, .replace("SELECT", "")) filtros |
percentage.py | Agrega un signo de porcentaje ('%') delante de cada carácter |
overlongutf8.py | Convierte todos los caracteres en una carga útil dada (sin procesar los ya codificados) |
randomcase.py | Reemplaza cada carácter de palabra clave con un valor de caso aleatorio |
randomcomments.py | Agrega comentarios aleatorios a las palabras clave SQL |
securesphere.py | Agrega una cadena especialmente elaborada |
sp_password.py | Agrega 'sp_password' al final de la carga útil para la ofuscación automática de los registros de DBMS |
space2comment.py | Reemplaza el carácter de espacio (' ') con comentarios |
space2dash.py | Reemplaza el carácter de espacio (' ') con un comentario de guion ('--') seguido de una cadena aleatoria y una nueva línea ('\n') |
space2hash.py | Reemplaza el carácter de espacio (' ') con un carácter de libra ('#') seguido de una cadena aleatoria y una nueva línea ('\n') |
space2morehash.py | Reemplaza el carácter de espacio (' ') con un carácter de libra ('#') seguido de una cadena aleatoria y una nueva línea ('\n') |
space2mssqlblank.py | Reemplaza el carácter de espacio (' ') con un carácter en blanco aleatorio de un conjunto válido de caracteres alternativos |
space2mssqlhash.py | Reemplaza el carácter de espacio (' ') con un carácter de libra ('#') seguido de una nueva línea ('\n') |
space2mysqlblank.py | Reemplaza el carácter de espacio (' ') con un carácter en blanco aleatorio de un conjunto válido de caracteres alternativos |
space2mysqldash.py | Reemplaza el carácter de espacio (' ') con un comentario de guion ('--') seguido de una nueva línea ('\n') |
space2plus.py | Reemplaza el carácter de espacio (' ') con un signo más ('+') |
space2randomblank.py | Reemplaza el carácter de espacio (' ') con un carácter en blanco aleatorio de un conjunto válido de caracteres alternativos |
symboliclogical.py | Reemplaza los operadores lógicos AND y OR con sus contrapartes simbólicas (&& y |
unionalltounion.py | Reemplaza UNION ALL SELECT con UNION SELECT |
unmagicquotes.py | Reemplaza el carácter de comillas (') con una combinación de múltiples bytes %bf%27 junto con un comentario genérico al final (para que funcione) |
uppercase.py | Reemplaza cada carácter de palabra clave con el valor en mayúsculas 'INSERT' |
varnish.py | Agrega un encabezado HTTP 'X-originating-IP' |
versionedkeywords.py | Envuelve cada palabra clave no funcional con un comentario de MySQL versionado |
versionedmorekeywords.py | Envuelve cada palabra clave con un comentario de MySQL versionado |
xforwardedfor.py | Agrega un encabezado HTTP falso 'X-Forwarded-For' |
Configuración disponible instantáneamente para evaluación de vulnerabilidades y pruebas de penetración. Realiza una prueba de penetración completa desde cualquier lugar con más de 20 herramientas y características que van desde la recopilación hasta la elaboración de informes. No reemplazamos a los pentesters: desarrollamos herramientas personalizadas, módulos de detección y explotación para darles tiempo para profundizar, abrir shells y divertirse.
Last updated