Y esta conferencia me gustaría cubrir un caso que enfrento en casi el 50 por ciento de los sitios web
en los que hago pruebas de penetración.
Permítanme primero ejecutar y explotar los que ya he visto, así que solo ejecutaremos esta declaración que seleccionará el
nombre de la tabla de las tablas de esquema de información.
Entonces, esto debería enumerar todas las tablas que existen dentro de nuestra página.
Y tengo mi nivel de seguridad demasiado bajo en este momento, así que voy a pegar eso aquí.
Elimine este extra y presione enter,
ya que puede ver que se explota y nos muestra el nombre de la tabla aquí en lugar del número uno.
Entonces vemos todos los nombres de tablas que existen dentro de esta base de datos actual.
Ahora, el caso que me gustaría cubrir es cuando realmente ejecuta la declaración para que el sitio web sea vulnerable.
Y cuando ejecuta la declaración, solo verá un resultado a la vez y eso se debe a que la página
está programada para mostrar solo un resultado a la vez.
Para hacer esto, en realidad necesitaremos modificar el código para el nivel de seguridad bajo para DPW. Lo haré
de vez en cuando y volveremos a explotarlo.
Así que en realidad solo voy a modificar el código para DVD-Video.
Esto no es parte de la explotación.
Esto es solo para hacer que esta explotación sea un poco más complicada.
Así que me he perdido el flotante de Meta ahora y voy a abrir el bajo nivel de seguridad del archivo de inyección
SQL.
Así que voy a usar sudo porque el archivo tiene permisos de root y voy a usar
Nonno como editor de texto.
Así que este es el programa que usaré para modificar el archivo y el archivo se almacena en varias w w
w w o w una vulnerabilidad es una fuente de inyección de habilidad y luego loph.
Así que nuevamente voy a pasar por esto y ver lo que estamos haciendo es decir que estamos
diciendo sudo para ejecutar el archivo con privilegios de root.
Ahora, ¿cuál es el programa con el que vamos a abrir el archivo?
Y luego el archivo se almacena en las habilidades WDW I Woolner legibles por Varda como el ph de Lowder de la fuente de Kulai.
Voy a presionar enter y pedirme la contraseña de administrador ahora que la contraseña de root es como administrador.
Exactamente como el nombre de usuario.
Tenemos la fuente aquí para el archivo.
Así que voy a modificarlo aquí, en realidad voy a modificar esto para usted.
Entonces, lo que hace este bucle en realidad recorre todos los caracteres y todos los registros
que esta declaración obvia obtiene aquí.
Y luego los muestra en la pantalla.
Entonces, lo que queremos es modificarlo para que solo muestre palabras del primer resultado.
Así que voy a comentar esta línea dos barras diagonales otro comentario.
Básicamente, esta línea será ignorada y también comentaré esta línea porque cierra el ciclo while.
Así que esta línea también será ignorada.
Ahora realmente debes preocuparte por lo que esto significa si no eres un programador.
No es muy importante entrar en estas líneas y veremos qué sucede en el sitio del cliente porque
lo que nos interesa en esta conferencia no es la programación que nos interesa para las
pruebas de penetración.
Así que voy a presionar el control X para guardar esto.
Voy a presionar Y e ingresar y eso se cerrará y guardará el archivo.
Así que estamos de vuelta aquí y voy a ejecutar exactamente la misma declaración para no modificarla.
Entonces sigo diciendo que los sindicatos seleccionan el nombre de la tabla del esquema de información de otras tablas.
En realidad voy a actualizar la página.
Y como pueden ver ahora, esto realmente no está funcionando o está funcionando, pero solo nos
muestra el primero, el primer registro seleccionado, que es el estadounidense, por lo que esto ni siquiera es útil.
Entonces, lo primero que voy a hacer es traernos el registro porque el administrador
tiene la ID del número uno.
Entonces, lo que vamos a hacer ahora es que en realidad solo le vamos
a dar una identificación no válida, así que le voy a dar una A menos uno.
Y como puede ver ahora, la declaración funciona, estamos obteniendo una tabla que existe en las tablas del esquema de
información, pero estamos todos juntos en una tabla a la vez.
No estamos obteniendo la lista completa de las tablas.
Y esto se debe a que la página está programada de una manera que solo mostrará un resultado.
Y esto me sucedió muchas veces cuando estoy haciendo pruebas de penetración.
Tenga en cuenta que podemos ejecutar cualquier declaración que queramos en la cinta del servidor para poder modificar nuestra
declaración de habilidad para iterar sobre todos los registros y mostrar el contenido.
Entonces, lo que vamos a hacer es que, obviamente, sabremos que podemos usar la declaración de palabras para mostrar solo las tablas de
la base de datos dentro de su base de datos actual, pero en este momento quiero
mostrarle cómo iterar sobre todo las mesas.
Entonces, lo que haremos en su lugar es usar la palabra clave limit para especificar qué registro queremos mostrar.
Con la declaración actual de esta manera, podremos iterar sobre los registros uno por uno
y mostrarlos todos.
Por lo tanto, la declaración se unirá para seleccionar el nombre de la tabla del esquema o las tablas de
información y vamos a decir que quiero limitar la palabra clave limit toma dos valores.
El primer valor es la ubicación del registro desde el que queremos comenzar a mostrar registros.
Entonces, ¿dónde queremos comenzar a mostrar registros, así que quiero comenzar a mostrar registros del primer registro.
Así que voy a poner cero porque los números de registro comienzan en 0 y el segundo valor que toma la
palabra clave de límite es el número de registros que queremos mostrar en la pantalla comenzando en el valor
que especificamos aquí.
Ahora sabemos que esta página aquí solo puede mostrarme un registro a la vez.
Por lo tanto, el segundo valor para la palabra clave limit solo puede ser uno.
En este caso.
Básicamente, lo que estamos diciendo es que queremos seleccionar el nombre de la tabla de las tablas del esquema de información.
Solo quería mostrar un registro a partir del registro 0.
Entonces, si copio esto y lo pego aquí, veré que obtendré
la primera tabla ahora mismo y luego, si quiero ir a la segunda tabla, todo lo que tengo que hacer
es modificar esto, así como dije este valor, el primer valor aquí significa que quiero comenzar en el
registro 0.
Entonces, si quiero comenzar en el registro 1, solo voy a poner uno y luego
puedo copiar esto y pegarlo aquí nuevamente.
Como puede ver, tenemos la siguiente mesa.
Ahora, nuevamente, si quiero obtener la tabla después de esto, todo lo que tengo que hacer es modificar esto y establecerlo en 2.
Y eso significa que quiero comenzar esta reproducción desde el registro hasta y solo quiero comenzar
a mostrar un registro.
Nuevamente, si presiono Intro como pueden ver, obtengo la siguiente tabla.
Puedo seguir haciendo esto para iterar sobre todos los registros manualmente.
Ahora también podemos mejorar la declaración utilizando las cargas de trabajo.
Entonces, antes del límite, podemos decir que quiero seleccionar un nombre de tabla de las tablas de
esquema de información donde el esquema de tabla es igual a DV w a.
Ahora, si pegamos esto aquí, como puede ver, esto me ha mostrado a los usuarios y nuevamente puedo iterar sobre las
tablas cambiando el número aquí para que se muestre en el registro en el desplazamiento 1.
Puedo configurar esto en 0 para mostrar el primer registro.
Y como pueden ver, la primera tabla o el primer registro es un libro de visitas y listo.
Tan solo una carta rápida y agradable para mostrarle cómo evitar este problema.
Si lo enfrenta en páginas que solo mostrarían un valor o un registro a la vez.