AA11 - Evidencia 3 Foro Temático "Pruebas de Seguridad"

También podría gustarte

Está en la página 1de 3

¿QUÉ ES SER UN HACKER ÉTICO?

Hacking ético es una forma de referirse al acto de una persona usar sus conocimientos de
informática y seguridad para realizar pruebas en redes y encontrar vulnerabilidades.

Esta utiliza los conocimientos de seguridad en informática para realizar pruebas en


sistemas, redes o dispositivos electrónicos, buscando vulnerabilidades que explotar, con el
fin de reportarlas para tomar medidas sin poner en riesgo el sistema.

EN COLOMBIA, EN LOS ÚLTIMOS AÑOS SE HAN PRESENTADO


SITUACIONES MUY RENOMBRADAS RELACIONADAS CON EL HACKING.
¿QUÉ OPINA AL RESPECTO?

El objetivo del Hacker ético es, encontrar vulnerabilidades de seguridad y corregirlas.

Veo con buenos ojos este tipo de conocimiento y práctica, pues ellos pondrán a prueba la
infraestructura de una empresa con el fin de que tomen medidas para poder salvaguardar
mejor la información de sus usuarios y así evitar que los Black hat puedan ocasionar
severos daños a la empresa.

¿QUÉ ES SQL-INJECTION?

El sql injection es un tipo de ataque a una base de datos en el cual, por la mala filtración de
las variables se puede inyectar un código creado por el atacante al propio código fuente de
la base de datos.

Un ataque por inyección SQL consiste en la inserción o “inyección” de una consulta SQL
por medio de los datos de entrada desde el cliente hacia la aplicación. Un ataque por
inyección SQL exitoso

Puede leer información sensible desde la base de datos, modificar la información (Insert/
Update/ Delete), ejecutar operaciones de administración sobre la base de datos (tal como
parar la base de datos), recuperar el contenido de un determinado archivo presente sobre el
sistema de archivos del DBMS y en algunos casos emitir comandos al sistema operativo.
Los ataques por inyección SQL son un tipo de ataque de inyección, en el cual los comandos
SQL son insertados en la entrada de datos con la finalidad de efectuar la ejecución de
comandos SQL predefinidos.
¿QUÉ MECANISMOS PUEDEN ESTABLECERSE PARA PREVENIR LA
INYECCIÓN DE SQL?

Escapar los caracteres especiales utilizados en las consultas SQL

Al hablar de “escapar caracteres” estamos haciendo referencia a añadir la barra invertida


“\” delante de las cadenas utilizadas en las consultas SQL para evitar que estas corrompan
la consulta. Algunos de estos caracteres especiales que es aconsejable escapar son las
comillas dobles (“), las comillas simples (‘) o los caracteres \x00 o \x1a ya que son
considerados como peligrosos pues pueden ser utilizados durante los ataques.

Delimitar los valores de las consultas

Aunque el valor de la consulta sea un entero, es aconsejable delimitarlo siempre entre


comillas simples. Una instrucción SQL del tipo:

SELECT nombre FROM usuarios WHERE id_user = $id

Será mucho más fácilmente inyectable que:

SELECT nombre FROM usuarios WHERE id_user = ‘$id’

Donde $id es un número entero.

Verificar siempre los datos que introduce el usuario

Si en una consulta estamos a la espera de recibir un entero, no confiemos en que sea así,
sino que es aconsejable tomar medidas de seguridad y realizar la comprobación de que
realmente se trata del tipo de dato que estamos esperando. Para realizar esto, los lenguajes
de programación ofrecen funciones que realizan esta acción, como pueden ser ctype_digit()
para saber si es un número o ctype_alpha () para saber si se trata de una cadena de texto en
el caso del lenguaje PHP.

También es aconsejable comprobar la longitud de los datos para descartar posibles técnicas
de inyección SQL, ya que si por ejemplo estamos esperando un nombre, una cadena
extremadamente larga puede suponer que estén intentando atacarnos por este método. En el
caso de PHP, podemos utilizar la función strlen() para ver el tamaño de la cadena.
Asignar mínimos privilegios al usuario que conectará con la base de datos

El usuario que utilicemos para conectarnos a la base de datos desde nuestro código debe
tener los privilegios justos para realizar las acciones que necesitemos. No utilizar nunca un
usuario root con acceso a todas las bases de datos ya que de esta forma estaremos dando
facilidades a los hackers para que puedan acceder a toda la información.

Herramientas de análisis

Otra de las opciones que podemos utilizar para realizar un análisis de nuestro código es el
uso de herramientas que testen nuestras aplicaciones en busca de vulnerabilidades por
inyección SQL. Algunas de estas herramientas son:

SQLiHelper 2.7 SQL Injection: Se trata de una aplicación cuyo objetivo es facilitar la
extracción de información procedente de bases de datos utilizando para ello técnicas de
inyección SQL.

Pangolin: Se trata de una herramienta de pago que ofrece más posibilidades que la vista en
el punto anterior y que está destinada a descubrir vulnerabilidades tanto del tipo inyección
SQL como inyección SQL ciego.

SQLMap: Se trata de una herramienta de pruebas de código abierto que automatiza el


proceso de detectar y explorar los errores de inyección SQL.

También podría gustarte