¿Por qué no se recomienda usar la persiana basada en el tiempo para forzar nombres de tablas / columnas?

2

Cuando no tenga privilegios en el usuario de la sesión que está utilizando con sqlmap, aparecerá esta advertencia cuando intente recuperar nombres de tablas / columnas, ofreciéndole nombres de fuerza bruta utilizando un archivo de diccionario,

do you want to use common column existence check? [y/N/q] y
[03:37:06] [WARNING] it's not recommended to use 'AND/OR time-based blind' and/or 'stacked queries' for common column existence check
are you sure you want to continue? [y/N] 

¿Por qué no se recomienda?

    
pregunta autorun 14.09.2014 - 08:40
fuente

1 respuesta

0

Esto es la condición que hace que se muestre la advertencia :

if kb.columnExistsChoice is None and not any(_ for _ in kb.injection.data if _ not in (PAYLOAD.TECHNIQUE.TIME, PAYLOAD.TECHNIQUE.STACKED)) and not conf.direct:

Las condiciones individuales significan:

  • kb.columnExistsChoice is None - respuesta anterior a la pregunta posterior "¿estás seguro de que quieres continuar?"
  • not any(_ for _ in kb.injection.data if _ not in (PAYLOAD.TECHNIQUE.TIME, PAYLOAD.TECHNIQUE.STACKED)) : si no hay otra inyección utilizando una técnica que no sea basada en el tiempo o apilada
  • not conf.direct : si no es una conexión directa

En conclusión, la advertencia se muestra si

  • no se ha mostrado todavía, y
  • no hay otra inyección que use una técnica que no sea basada en el tiempo o apilada, y
  • no es una conexión directa.

La razón de esto es probablemente porque las técnicas apiladas y basadas en el tiempo requieren mucho tiempo y pueden tardar bastante tiempo en terminarse.

    
respondido por el Gumbo 17.09.2014 - 21:29
fuente

Lea otras preguntas en las etiquetas