Máster Gratuito en Marketing Digital

En la actualidad, cada vez son mas los sistemas que usamos en la nube. Esto puede ir desde una tienda en línea, un blog personal, hasta sistemas de gestión. Muchos son los desarrolladores que están usando framework o CMS pero hay otros que prefieren desarrollar su propio código. La seguridad es muy importante para cualquier sistema en la nube, por lo que hoy quiero hablar de la inyección de contenido.

inyección

¿Qué es la inyección de contenido?

Es la forma de colocar código de forma inesperada a un intérprete. Con este problema de seguridad se puede colocar contenido en el programa o ejecutar comandos sin tener permiso. Las formas más común es mediante el código SQL.

Veamos un ejemplo:

Inyección por SQL:

En el siguiente ejemplo utilizamos una consulta que responde a un inicio de sesión en la cual colocamos una condición en la contraseña para así demostrar la inyección.

SELECT * FROM tabla WHERE usuario = ‘nombre’ AND clave = ‘contraseña’ OR ‘1’ = ‘1’

El código mal intencionado en esta consulta seria OR ‘1’ = ‘1’ de está forma la contraseña quedaría alterada permitiendo así la colocación de código ilícito. Al ser una operación que siempre se cumple la consulta devuelve verdadero.

Para solucionar este problema php cuenta htmlentities(), con este método convertimos los caracteres especiales por entidades HTML. Este método es recomendable para cuando enviemos los datos tanto por $_POST o $_GET.

Otros aspecto a tomar en cuenta para evitar este problema es usar los métodos PDO y Mysql nunca usar Mysql este último ya quedó obsoleto en desde la versión 7. Como recomendación final solo me resta decirles que su servidor cuente con todas las actualizaciones de seguridad.

Ir a inicio

Comparte!

0 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

catorce − 7 =