Esteban: Hay un ataque bastante comun que consiste en incluir codigo SQL en campos de entrada, para realizar daño en la aplicacion.
En el caso que cuenta el chiste, se supone que tiene un formulario de ingreso de datos, donde pide el nombre del estudiante.
Lo habitual, es ingresar "Enrique" y con eso funciona todo bien.. La aplicacion concatena el dato ingresado con una sentencia SQL y la ejecuta en la base de datos.
Ahora, si en vez de "Enrique", se ingresa "Enrique';DROP TABLE student;--", lo que puede pasar, si la aplicacion no esta bien diseñada, es que se agrege el valor "Enrique" y luego se ejecute la sentencia que borra la tabla students y pone como comentario el resto de la linea..
Con este sencillo comando, se puede lograr borrar todos los datos de dicha tabla. Por eso hay que tener mucho cuidado y no permitir en nuestras aplicacion el ataque de "SQL Injection". Podes ver mas informacion en http://es.wikipedia.org/wiki/Inyección_SQL
En determinados programas expuestos como servicios web SOAP, es conveniente devolver un error 500 - Internal Server Error, para dejar bien evidente que hubo un problema serio. En GeneXus no hay una forma nativa de devolver estos errores, por ahora al menos. Necesitábamos devolver errores 500 cuando nos llegaba un request con formato invalido. Lo que hicimos fue, agregar en la primera línea del procedure (*): &SoapErrMsg = GetSOAPErrMsg() If &SoapErrMsg <> '' csharp throw new System.Web.Services.Protocols.SoapException([!&SoapErrMsg!], System.Web.Services.Protocols.SoapException.ClientFaultCode); endif * Esto fue probado en el Upgrade 5 de GeneXus 16.
Estoy leyendo un libro corto sobre Spec-Driven Development , una forma de desarrollar software con Inteligencia Artificial que propone algo que, a primera vista, parece bastante moderno. En lugar de empezar escribiendo código, se comienza describiendo qué sistema queremos construir. Se definen los requerimientos, el modelo de entidades, los casos de uso, las reglas, las restricciones y los criterios que debe cumplir la aplicación. Esa especificación —la Spec — pasa a ser uno de los principales artefactos del proyecto. A partir de ella, los agentes de IA pueden generar código, pruebas, documentación y realizar verificaciones para comprobar que lo implementado cumple con lo especificado. Mientras leía esto tuve una sensación curiosa: esto me resulta muy conocido. Mi proyecto de grado, a finales de los 80 A finales de los años 80 hice mi proyecto de grado en la Facultad de Ingeniería de la Universidad de la República. En aquella época, antes de comenzar a programar, nos exigían preparar u...
Hace poco más de un año, Matilde y Mariana propusieron un proyecto familiar para tratar de devolver un poco de todo lo que la sociedad uruguaya nos ha dado y ayudar a algún bebé que no tuviera la suerte que hemos tenido nosotros. Para esto, nos contactamos con la Fundación MIR que se focaliza en ayudar a bebes de 0 a 12 meses que pierden o ven interrumpido los cuidados de sus familias de origen. Una de las opciones que nos presentaron, era ser Familia Amiga del INAU , que consiste en llevar un bebé a casa durante el tiempo que se necesite (generalmente son 4 o 5 meses, con un máximo de un año) hasta que vuelva con su familia de origen o que la justicia determine que sea adoptado. Desde el principio nos aclararon que era algo temporal, pues al ser Familia Amiga, no se puede estar en el Registro Unico de Aspirantes, donde hay que inscribirse para poder adoptar a niños en Uruguay. El 23 de Diciembre de 2020, tuvimos la primer entrevista en el INA...
no entiendo!!!
ResponderBorrarSaludos
Esteban:
ResponderBorrarHay un ataque bastante comun que consiste en incluir codigo SQL en campos de entrada, para realizar daño en la aplicacion.
En el caso que cuenta el chiste, se supone que tiene un formulario de ingreso de datos, donde pide el nombre del estudiante.
Lo habitual, es ingresar "Enrique" y con eso funciona todo bien.. La aplicacion concatena el dato ingresado con una sentencia SQL y la ejecuta en la base de datos.
Ahora, si en vez de "Enrique", se ingresa "Enrique';DROP TABLE student;--", lo que puede pasar, si la aplicacion no esta bien diseñada, es que se agrege el valor "Enrique" y luego se ejecute la sentencia que borra la tabla students y pone como comentario el resto de la linea..
Con este sencillo comando, se puede lograr borrar todos los datos de dicha tabla. Por eso hay que tener mucho cuidado y no permitir en nuestras aplicacion el ataque de "SQL Injection". Podes ver mas informacion en http://es.wikipedia.org/wiki/Inyección_SQL
Gracias por el comentario..