miércoles, 25 de enero de 2012

SQL Inyection for dummies

Introduccion a la inyeccion SQL

Las paginas o sitios que necesitan de alguna manera almacenar informacion, ya sea de sus contenidos, usuarios, o estadisticas, lo hacen a traves de lo que llamamos Bases de Datos, en si una Base de Datos es un termino muy generico para definir donde se guarda la informacion, en terminos mas especificos y fisicos deberiamos hablar de Sistemas de Gestion de Bases de Datos (SGBD).
Hoy en dia existen varios tipos de bases de datos: SQL,NoSql,orientadas a Objetos,etc.

Por ahora hablaremos de las bases de datos SQL. Dentro de los SGBD del tipo SQL mas conocidos o usados esta MySQL el cual hoy en dia es propiedad de Oracle pero tiene su origen en el mundo del OpenSource, tenemos MSSQL Server del cual es propietario Microsoft, Firebird el cual es un descendiente digamoslo asi del antiguo Interbase de Borland, aquella empresa que creo los famosos Turbo C y Turbo Pascal ampliamente conocidos en el mundo de la programacion, PostgreSQL, SQLite, etc.

Pues bien, estos SGBD, tienen un dialecto o un lenguaje con el cual se puede recuperar la informacion que almacenan el cual es llamado SQL o Structured Query Language (Lenguaje de Consulta Estructurado).

Este lenguaje es el que se utiliza por desarrolladores y administradores de bases de datos para añadir, consultar y modificar informacion en los servidores y en las paginas web.

Bien, ahora donde entra la parte de la inyeccion de SQL, cuando se desarrolla un sitio, o cualquier programa informatico que interactua con Bases de datos, se corre el riesgo de permitir que se capture o introduzca informacion que el dialecto sql interprete de una manera que no sea la correcta o que permita omitir o introducir instrucciones que modifiquen la informacion que esta guardada dentro del servidor.

Es aqui cuando los "hackers" (pongo entre comillas ya que ciertamente el termino hacker tiene un significado no tan destructivo), aprovechan estas vulnerabilidades, y ya sea en la pagina o sistema informatico, deliberadamente introducen sentencias o instrucciones, o caracteres especiales donde se permite la entrada de informacion, o mediante software que modifica el envio de la informacion del ciente al servidor,   y el servidor al recibir esa instruccion modificada, puede ejecutarla con resultados que pueden ser desde consultar informacion la cual no estaba planeada mostrarse con el flujo normal del sitio, o bien incluso borrar la informacion, o la base de datos en si.

¿Por que ocurre esto o por que se permite?, entre las causas pueden ser, un mal desarrollo por parte del programador que no siguio buenas practicas de programacion y permite un acceso directo desde el sistema hasta la base de datos, o bien que el propio SGBD tenga vulnerabilidades y permita ejecutar codigo no deseado y lograr los efectos antes mencionados.

¿Que podemos hacer para prevenir esto.?
La primera opcion es tener el software siempre actualizado, instalando las correcciones o "fixes" que la compañia nos provee, tratar de tener siempre la version mas reciente del software para manejo de la informacion, y por ultimo pero tambien muy importante, que todos aquellos que nos dedicamos al desarrollo y la programacion, estemos preparados y sepamos implementar correctamente el codigo que nos permita proteger el acceso a la informacion desde su captura en el lado del cliente.

En si esto es solo una introduccion o explicacion a lo que es SQL Inyection, en internet hay mucha  informacion disponible para poder resolver y prevenir esto, asi que quien guste o tenga que realizar un desarrollo puede investigar y documentarse para prevenir algun suceso no deseado y proteger la informacion.

jueves, 4 de agosto de 2011

¿Cómo sería una oferta de trabajo para conductor de coche si exigieran lo mismo que a un programador?

Oferta de trabajo

Puesto: Conductor de coches
Requisitos:    Experiencia en la conducción de coches, transportes de mercancias, autobuses, camiones, trolebuses, tranvías, metro, tractores, excavadoras y tanques ligeros y pesados actualmente en uso por los países de la OTAN.

    Imprescindible experiencia en rallies y conducción extrema.
    Se valorará experiencia en conducción de Formula-1.
    Conocimiento y experiencia en la reparación de motores de pistón y rotor/Wankel, transmisión automática y manual, sistemas de encendido, ordenador abordo, ABS, ABD, GPS y equipos de audio de las marcas más conocidas.

    Se valorará experiencia en la pintura de automóviles y labores de chapista.
    Los candidatos deberán contar con certificaciones de BMW, General Motors y Bosch, con menos de 2 años de antigüedad.

Salario: de $2000 a $20000,a negociar segun aptitudes

martes, 15 de febrero de 2011

Nueva lista de correo para Haiku Iberoamerica

Asi es, para todos aquellos interesados en este proyecto ahora pueden suscribirse a la lista de correo para la comunidad  iberoamericana.

Aqui les dejo el link para suscribirse 


http://groups.google.com/group/haiku-es

Ademas de la noticia de la lista de correo podemos esperar para este año una Alpha 3 de Haiku donde veremos principalmente correcciones de varios bugs y nuevas caracteristicas.

miércoles, 19 de enero de 2011

Haiku R1 Alpha 2 liberado

Recientemente fue liberada la version R1 alpha 2 de HAIKU,  un sistema operativo open source basado en el ya extinto BeOS, el cual fue comprado por Palm hace ya tiempo.

Pues bueno acabo de instalarlo sin ningun problema en virtual box y parece que todo va perfectamente, corre muy fluido, tiene muy poco uso de memoria ( en mi instalacion asigne 512 mb y el maximo de uso ha sido 110 mb aprox).

Para ser un sistema en version alpha va muy bien, incluso me ha gustado mas que ReactOs (s.o. open source basado en Windows para aquellos que no lo conozcan).

El unico punto debil aunque tal vez el mas importante, es la poca disponibilidad de aplicaciones para el sistema, tiene un buen navegador basado en webkit, carece hasta el momento de un buen sistema de mensajeria instantanea, y aunque soporta las librerias Qt y KOffice ya ha sido portado, aun se siente un poco "solitario".

En cuanto al desarrollo, tiene una buena api, basada en software kits, es decir para cada aspecto del s.o. como, manejo de aplicaciones, multimedia, opengl, red, etc, existe  un kit con api disponible lista para trabajar. La piedrita en el camino podria ser que aun no existe un entorno de desarrollo como muchos podriamos estas acostumbrados y hay que hacer muchas cosas aun al estilo *nix, gcc hola hola.cpp, o make, aun asi hay opciones para trabajar como Paladin, que es el editor que he estado usando y se acomoda muy bien.

Es un s.o. que vale la pena probar, aunque como recomiendan aun no es factible su uso en produccion, es una buena opcion para ir contemplando.

El sitio oficial de Haiku 
La comunidad iberoamericana de haiku 

Para los que se decidan a entrar a la programacion, en O'Reilly tienen libre acceso al libro
Programming the Be Operating System
Writing Programs for the Be Operating System
By Dan Parks Sydow
Codigo Fuente del libro

El codigo fuente incluido con BeOs R5 


Paladin editor para desarrollo en Haiku

Seguimos de Compras Appcelerator adquiere Aptana

Bueno, ciertamente no es un tema muy relacionado a java en si, pero pues esto de la compra de empresas sigue adelante y ahora le toco el turno a Aptana, el cual es un ide basado en eclipse que ha tenido creo yo una buena aceptacion.

Pues ahora resulta que ha sido comprada por la compañia Appcelerator, la cual su producto estrella es Titanium un framework de desarrollo multiplataforma (del cual la verdad hasta ahora me vengo enterando).

Pues bien esperemos ahora a ver que rumbo toma, en lo personal he usado Aptana Studio como ide para python y ruby mas que para java en si, muy completo y muy recomendable.

Ahora que tambien he descubierto este framework Titanium veremos si es open source o tiene una licencia parecida para experimentar con el.

El comunicado oficial aqui 

Aptana Studio

Appcelerator y Titanium

viernes, 24 de septiembre de 2010

De los actos y hechos humanos

Para culturas alejadas de los hechos historicos del Cristianismo, es valida la nocion del cielo y el infierno, castigo y premio, y otros terminos con los cuales se presente en el contexto.

Ya que como Cristianos creemos en la existencia de Dios y formamos parte de su Iglesia fundamentada en Cristo su hijo, aceptamos la nocion del cielo y el infierno como lugares de eterno regocijo y castigo respectivamente.

Cuando se refiere a aquellos que no conocieron la Verdad que nos transmite Jesucristo a traves de los apostoles en el evangelio, es valido pensar que debido a sus hechos y actos se encuentran en uno de estos "lugares" segun haya sido su vida llevada de acuerdo a lo que nosotros conocemos como la nocion del bien y del mal.

La nocion del bien y del mal es natural al ser humano y una de muchas pruebas que podemos aportar es la generacion de leyes dentro de la sociedad misma, ya que es una necesidad distinguir aquellas acciones que de acuerdo a su naturaleza, contexto e intencion, representen un daño o un beneficio para los que la componen.

Siendo entonces todos conscientes de la naturaleza de sus hechos y sus actos en la vida, podemos plantear que aquellos cuyas acciones realizaron un daño o perjuicio se encuentran en el "lugar" de castigo designado por Dios para ese proposito, de igual manera aquellos que vivieron en un estado de bondad y tranquilidad tanto corporal como espiritual, gozaran de la dicha eterna.

Todo esto de acuerdo a que la "existencia" de lo que denominamos cielo e infierno, ha sido creado "antes de" la aparicion del ser humano por cualquier circunstancia o motivo.

Un defecto en el que no se debe caer es el plantear "y lo que para unos esta bien y para otros esta mal" refiriendose probablemente a la diferencia de culturas, hay que recordar que la justificacion de los actos por la posesion del poder no cambian la naturaleza de los mismos.

Como conclusion podemos afirmar que aquellos que murieron antes de conocer lo que hoy tenemos como religion, dependiendo de sus actos se encontraran en el "lugar o estado" que les corresponde.

Principio fundamental del derecho: "La ignorancia de la Ley no excusa de su cumplimiento"

miércoles, 17 de febrero de 2010

La semana del DBA en Embarcadero

Asi es del 3  al 5 de marzo Embarcadero Technologies ofrece 3 presentaciones en linea con temas relacionados a la administracion de bases de datos.

El 3 de marzo sera sobre Arquitectura y Modelado de base de Datos, cuyo objetivo es el de ofrecer informacion sobre como entender, organizar , definir y reutilizar modelos de datos, diccionarios de datos, y el uso de su software ER/Studio Data Architect

El 4 de marzo se vera acerca de la Gestion de datos y cambios en ambientes de base de datos heterogéneo, sobre la diversidad de Sistemas Gestores de DB, herramientas , integracion, y administracion multiplataforma de Bases de Datos.

El 5 de marzo sera sobre Optimizacion de SQL (SQL Tunning), disponibilidad y eficiencia de bases de datos 24x7.

Para registrarse al evento es necesario llenar esta forma

o para mayor informacion en info@embarcadero.com