Bases de datos

Iniciado por Lehrling00, 24 Mayo 2017, 02:27 AM

0 Miembros y 1 Visitante están viendo este tema.

Lehrling00

Hola muchachos soy nuevo en el foro entre porque estoy haciendo un trabajo sobre seguridad en bases de datos y tengo una duda: ¿porqué cuando encuentro esto .php?= en la dirección de una pagina, se sabe que es vulnerable a inyecciones sql?, ¿qué es lo que representa o que significa esa linea y como se puede evitar mostrarla? 

engel lex

es cosa de aprender php

no es .php?=

es

.php?variable=valor

usualmente los novicios tienden a no filtrar sus solicitudes a la DB, así que hacen un
web.php?pagina=1

y en el código

Código (php) [Seleccionar]
$pagina = $_GET["pagina"]
$sql = "SELECT * FROM tabla WHERE campo='$pagina' ";


esto permite a una atacante hacer una segunda peticion alli

lo peligroso no es el ?pagina=1, es como se filtre eso una vez dentro del servidor...

por toro lado a tu pregunta, como se puede evitar, eso se arregla con "url amistosas" sin embargo el problema persiste si no se filtra la data

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Randomize

Deberías leer también sobre "honey pot".


Un saludo.

Orubatosu

Lo que debes intentar no es evitar mostrar una vulnerabilidad, sino evitarla

Existen en cada lenguaje diferentes métodos, normalmente conocidos como "consultas preparadas" o "consultas parametrizadas"

Normalmente cualquier lenguaje moderno que accede a una base de datos incluye mecanismos para ello. Básicamente consiste en tener la consulta ya preparada y añadir el parámetro de búsqueda mediante una instrucción a un objeto ya existente que contiene la consulta. Si este no tiene el formato correcto, la instrucción simplemente no se ejecuta (en algunos lenguajes ello implica excepciones que hay que tratar)
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness"
Hideto Matsumoto 1964-1998