SlideShare una empresa de Scribd logo
1 de 16
Vulnerabilidades del Software. Félix Mera García 39455427-P [email_address] SSI Curso 08-09, ESEI (UVigo)
Contenidos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Vulnerabilidades del Software -
Introducción ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Vulnerabilidades del Software -
Cross Site Scripting (XSS) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Vulnerabilidades del Software -
XSS en forma Directa ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Vulnerabilidades del Software -
XSS en forma Indirecta ,[object Object],[object Object],[object Object],[object Object],Vulnerabilidades del Software -
Desbordamiento de Buffer  (Buffer Overflow) ,[object Object],[object Object],[object Object],[object Object],Vulnerabilidades del Software -
Buffer Overflow : Ejemplo de vulnerabilidad /* Ejemplo de desbordamiento de buffer en C */ #include <stdio.h> #include <string.h> int main(int argc, char *argv[])  { char buffer1[5]=&quot;AAAA&quot;; char buffer2[5]; if (argc < 2)  { fprintf(stderr, &quot;SINTAXIS CORRECTA: %s <string>&quot;, argv[0]); return 1; } strcpy(buffer2, argv[1]); printf(&quot; BUFFER 1: &quot;); puts(buffer1); printf(&quot; BUFFER 2: &quot;); puts(buffer2); return 0; } Vulnerabilidades del Software -
Buffer Overflow : Ejemplo de programación segura /* Evitar desbordamiento de buffer en C. Ejemplo de programación segura */ #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char buffer1[5]=&quot;AAAA&quot;; char buffer2[5]; if (argc < 2) { fprintf(stderr, &quot;SINTAXIS CORRECTA: %s <string>&quot;, argv[0]); return 1; } strncpy(buffer2, argv[1], sizeof(buffer2)); buffer2[sizeof(buffer2) - 1] = ''; printf(&quot; BUFFER 1: &quot;); puts(buffer1); printf(&quot; BUFFER 2: &quot;); puts(buffer2); return 0; } Vulnerabilidades del Software -
Pisado de Pila  (Stack Smashing) ,[object Object],[object Object],[object Object],[object Object],Vulnerabilidades del Software -
Stack Smashing : Ejemplo de vulnerabilidad /* Ejemplo de programa de Pisado de Pila que utiliza la vulnerabilidad BO*/ #include <stdio.h> #include <stdlib.h> int main( int argc, char *argv[] ) { char buffer[1024]; // Buffer estático en la pila. if ( argc != 2 ) { printf(&quot;Uso: %s argumento&quot;, argv[0] ); return( -1 ); } // Copiado de cadenas sin control. strcpy( buffer, argv[1]); printf( &quot;Argumento copiado&quot; ); return(0); } Vulnerabilidades del Software -
Inyección SQL  (SQL Injection) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Vulnerabilidades del Software -
Inyección SQL: Cómo evitarla ,[object Object],[object Object],[object Object],[object Object],[object Object],Vulnerabilidades del Software -
Otras vulnerabilidades ,[object Object],[object Object],Vulnerabilidades del Software -
Conclusiones ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Vulnerabilidades del Software -
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Bibliografía

Más contenido relacionado

La actualidad más candente

Todos+los+comandos+que+hay+que+saber+para+configurar+un+router
Todos+los+comandos+que+hay+que+saber+para+configurar+un+routerTodos+los+comandos+que+hay+que+saber+para+configurar+un+router
Todos+los+comandos+que+hay+que+saber+para+configurar+un+routerjlzo
 
Lema de bombeo
Lema de bombeoLema de bombeo
Lema de bombeoOmega Tech
 
REDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBB
REDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBBREDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBB
REDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBBESCOM
 
Unidad 6 introduccion a los lenguajes formales
Unidad 6 introduccion a los lenguajes formalesUnidad 6 introduccion a los lenguajes formales
Unidad 6 introduccion a los lenguajes formalesRaul Interian
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandraLuis Alvarado
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blancaStudentPc
 
Comandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos ciscoComandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos ciscoCISCO NETWORKING
 
Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencialeidy2220
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 

La actualidad más candente (20)

Diseño caso de pruebas
Diseño caso de pruebasDiseño caso de pruebas
Diseño caso de pruebas
 
Monografia de pipeline
Monografia de pipelineMonografia de pipeline
Monografia de pipeline
 
Todos+los+comandos+que+hay+que+saber+para+configurar+un+router
Todos+los+comandos+que+hay+que+saber+para+configurar+un+routerTodos+los+comandos+que+hay+que+saber+para+configurar+un+router
Todos+los+comandos+que+hay+que+saber+para+configurar+un+router
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Ingenieria de requisitos
Ingenieria de requisitosIngenieria de requisitos
Ingenieria de requisitos
 
Jackson
JacksonJackson
Jackson
 
Tabla De Transicion
Tabla De TransicionTabla De Transicion
Tabla De Transicion
 
Lema de bombeo
Lema de bombeoLema de bombeo
Lema de bombeo
 
Curso básico de ensamblador
Curso básico de ensambladorCurso básico de ensamblador
Curso básico de ensamblador
 
REDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBB
REDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBBREDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBB
REDES NEURONALES DE APRENDIZAJE NO SUPERVISADO HEBB
 
Unidad 6 introduccion a los lenguajes formales
Unidad 6 introduccion a los lenguajes formalesUnidad 6 introduccion a los lenguajes formales
Unidad 6 introduccion a los lenguajes formales
 
Pilas
PilasPilas
Pilas
 
puntos de funcion.pptx
puntos de funcion.pptxpuntos de funcion.pptx
puntos de funcion.pptx
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandra
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 
Comandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos ciscoComandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos cisco
 
Listas de adyacencia
Listas de adyacenciaListas de adyacencia
Listas de adyacencia
 
Recorrido de anchura
Recorrido de anchuraRecorrido de anchura
Recorrido de anchura
 
Apuntadores y listas
Apuntadores y listasApuntadores y listas
Apuntadores y listas
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 

Destacado

Amenazas y vulnerabilidades en la informática
Amenazas y vulnerabilidades en la informáticaAmenazas y vulnerabilidades en la informática
Amenazas y vulnerabilidades en la informáticaCarolina Cols
 
Gestión del riesgo de software
Gestión del riesgo de software Gestión del riesgo de software
Gestión del riesgo de software jose_macias
 
Clase riesgos-amenazas-vulnerabilidades
Clase riesgos-amenazas-vulnerabilidadesClase riesgos-amenazas-vulnerabilidades
Clase riesgos-amenazas-vulnerabilidadessimondavila
 
Tipos de ataques y vulnerabilidades en una red
Tipos de ataques y vulnerabilidades en una redTipos de ataques y vulnerabilidades en una red
Tipos de ataques y vulnerabilidades en una redmamuga
 
Seguridad informática software (Informacion sobre posibles fallas)
Seguridad informática software (Informacion sobre posibles fallas)Seguridad informática software (Informacion sobre posibles fallas)
Seguridad informática software (Informacion sobre posibles fallas)Omar Tapia Reyes
 
Procesos técnicos en la fabricación de un hardware
Procesos técnicos en la fabricación de un hardwareProcesos técnicos en la fabricación de un hardware
Procesos técnicos en la fabricación de un hardwarehanolf
 
Sistemas, redes y riesgos en los computadores
Sistemas, redes y riesgos en los computadoresSistemas, redes y riesgos en los computadores
Sistemas, redes y riesgos en los computadoresmetalvash
 
Procesos tecnicos que se realizan en la creacion de un hardware
Procesos tecnicos que se realizan en la creacion de un hardwareProcesos tecnicos que se realizan en la creacion de un hardware
Procesos tecnicos que se realizan en la creacion de un hardwareFabianBC20
 
Riesgos Laborales SMR Informática
Riesgos Laborales SMR InformáticaRiesgos Laborales SMR Informática
Riesgos Laborales SMR InformáticaGalia Kálchevska
 
Tipos de amenazas en Seguridad Informática
Tipos de amenazas en Seguridad InformáticaTipos de amenazas en Seguridad Informática
Tipos de amenazas en Seguridad InformáticaEdgar López Romero
 
Factores Humanos-Presentación (3 de 4)
Factores Humanos-Presentación (3 de 4)Factores Humanos-Presentación (3 de 4)
Factores Humanos-Presentación (3 de 4)becrouzeilles
 

Destacado (19)

Prevención de Malware Investigación Documental
Prevención de Malware Investigación DocumentalPrevención de Malware Investigación Documental
Prevención de Malware Investigación Documental
 
Amenazas y vulnerabilidades en la informática
Amenazas y vulnerabilidades en la informáticaAmenazas y vulnerabilidades en la informática
Amenazas y vulnerabilidades en la informática
 
Historia del malware
Historia del malwareHistoria del malware
Historia del malware
 
Gestión del riesgo de software
Gestión del riesgo de software Gestión del riesgo de software
Gestión del riesgo de software
 
Clase riesgos-amenazas-vulnerabilidades
Clase riesgos-amenazas-vulnerabilidadesClase riesgos-amenazas-vulnerabilidades
Clase riesgos-amenazas-vulnerabilidades
 
12 amenazas a la seguridad de la información
12 amenazas a la seguridad de la información12 amenazas a la seguridad de la información
12 amenazas a la seguridad de la información
 
Tipos de ataques y vulnerabilidades en una red
Tipos de ataques y vulnerabilidades en una redTipos de ataques y vulnerabilidades en una red
Tipos de ataques y vulnerabilidades en una red
 
Malware: Historia y Clasificación
Malware: Historia y ClasificaciónMalware: Historia y Clasificación
Malware: Historia y Clasificación
 
Seguridad informática software (Informacion sobre posibles fallas)
Seguridad informática software (Informacion sobre posibles fallas)Seguridad informática software (Informacion sobre posibles fallas)
Seguridad informática software (Informacion sobre posibles fallas)
 
Procesos técnicos en la fabricación de un hardware
Procesos técnicos en la fabricación de un hardwareProcesos técnicos en la fabricación de un hardware
Procesos técnicos en la fabricación de un hardware
 
Historia de malware
Historia de malwareHistoria de malware
Historia de malware
 
Sistemas, redes y riesgos en los computadores
Sistemas, redes y riesgos en los computadoresSistemas, redes y riesgos en los computadores
Sistemas, redes y riesgos en los computadores
 
Malware
MalwareMalware
Malware
 
Procesos tecnicos que se realizan en la creacion de un hardware
Procesos tecnicos que se realizan en la creacion de un hardwareProcesos tecnicos que se realizan en la creacion de un hardware
Procesos tecnicos que se realizan en la creacion de un hardware
 
Protocolos de seguridad informática
Protocolos de seguridad informáticaProtocolos de seguridad informática
Protocolos de seguridad informática
 
Riesgos Laborales SMR Informática
Riesgos Laborales SMR InformáticaRiesgos Laborales SMR Informática
Riesgos Laborales SMR Informática
 
Tipos de amenazas en Seguridad Informática
Tipos de amenazas en Seguridad InformáticaTipos de amenazas en Seguridad Informática
Tipos de amenazas en Seguridad Informática
 
Factores Humanos-Presentación (3 de 4)
Factores Humanos-Presentación (3 de 4)Factores Humanos-Presentación (3 de 4)
Factores Humanos-Presentación (3 de 4)
 
GESTION DEL RIESGO
GESTION DEL RIESGOGESTION DEL RIESGO
GESTION DEL RIESGO
 

Similar a Vulnerabilidades del Software

Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Alonso Caballero
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securityseguridadelinux
 
Reporte de seguridad
Reporte de seguridadReporte de seguridad
Reporte de seguridadJorge García
 
Racciatti Html Scripting Attacks
Racciatti Html Scripting AttacksRacciatti Html Scripting Attacks
Racciatti Html Scripting AttacksCristian Borghello
 
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
 
Trabajo de seguridad informatica 1
Trabajo de seguridad informatica 1Trabajo de seguridad informatica 1
Trabajo de seguridad informatica 1Carlos Alderete
 
Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3tantascosasquenose
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la webTensor
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la webTensor
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la webTensor
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la webTensor
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la webTensor
 

Similar a Vulnerabilidades del Software (20)

Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0
 
WebAttack - Presentación
WebAttack - PresentaciónWebAttack - Presentación
WebAttack - Presentación
 
Seguridad en los sistemas web
Seguridad en los sistemas webSeguridad en los sistemas web
Seguridad en los sistemas web
 
Web app attacks
Web app attacksWeb app attacks
Web app attacks
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_security
 
Reporte de seguridad
Reporte de seguridadReporte de seguridad
Reporte de seguridad
 
Owasp proyecto
Owasp proyectoOwasp proyecto
Owasp proyecto
 
Inyecciones SQL
Inyecciones SQLInyecciones SQL
Inyecciones SQL
 
Vulnerabilidades web
Vulnerabilidades webVulnerabilidades web
Vulnerabilidades web
 
Racciatti Html Scripting Attacks
Racciatti Html Scripting AttacksRacciatti Html Scripting Attacks
Racciatti Html Scripting Attacks
 
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
 
Trabajo de seguridad informatica 1
Trabajo de seguridad informatica 1Trabajo de seguridad informatica 1
Trabajo de seguridad informatica 1
 
Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3
 
Xss a fondo
Xss a fondoXss a fondo
Xss a fondo
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la web
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la web
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la web
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la web
 
Seguridad en la web
Seguridad en la webSeguridad en la web
Seguridad en la web
 
Seguridad en php
Seguridad en phpSeguridad en php
Seguridad en php
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
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.pptxAlan779941
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
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 ASPECTOSpptxJorgeParada26
 
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...JohnRamos830530
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
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.FlorenciaCattelani
 
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 estossgonzalezp1
 
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 eyvanamcerpam
 

Último (11)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 
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...
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
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.
 
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
 
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
 

Vulnerabilidades del Software

  • 1. Vulnerabilidades del Software. Félix Mera García 39455427-P [email_address] SSI Curso 08-09, ESEI (UVigo)
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Buffer Overflow : Ejemplo de vulnerabilidad /* Ejemplo de desbordamiento de buffer en C */ #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char buffer1[5]=&quot;AAAA&quot;; char buffer2[5]; if (argc < 2) { fprintf(stderr, &quot;SINTAXIS CORRECTA: %s <string>&quot;, argv[0]); return 1; } strcpy(buffer2, argv[1]); printf(&quot; BUFFER 1: &quot;); puts(buffer1); printf(&quot; BUFFER 2: &quot;); puts(buffer2); return 0; } Vulnerabilidades del Software -
  • 9. Buffer Overflow : Ejemplo de programación segura /* Evitar desbordamiento de buffer en C. Ejemplo de programación segura */ #include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { char buffer1[5]=&quot;AAAA&quot;; char buffer2[5]; if (argc < 2) { fprintf(stderr, &quot;SINTAXIS CORRECTA: %s <string>&quot;, argv[0]); return 1; } strncpy(buffer2, argv[1], sizeof(buffer2)); buffer2[sizeof(buffer2) - 1] = ''; printf(&quot; BUFFER 1: &quot;); puts(buffer1); printf(&quot; BUFFER 2: &quot;); puts(buffer2); return 0; } Vulnerabilidades del Software -
  • 10.
  • 11. Stack Smashing : Ejemplo de vulnerabilidad /* Ejemplo de programa de Pisado de Pila que utiliza la vulnerabilidad BO*/ #include <stdio.h> #include <stdlib.h> int main( int argc, char *argv[] ) { char buffer[1024]; // Buffer estático en la pila. if ( argc != 2 ) { printf(&quot;Uso: %s argumento&quot;, argv[0] ); return( -1 ); } // Copiado de cadenas sin control. strcpy( buffer, argv[1]); printf( &quot;Argumento copiado&quot; ); return(0); } Vulnerabilidades del Software -
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.