¿Es posible verificar si un sitio web es vulnerable a SQLi al ver su código fuente?

0

He escuchado que la función eval() es vulnerable a SQLi.

¿Puedo verificar vulnerabilidades simplemente viendo el código fuente del sitio web?

    
pregunta Rifat Shommo 26.07.2018 - 00:42
fuente

4 respuestas

1

Depende de lo que entiendas por "código fuente".

Si usa la función "ver fuente" en un navegador web, eso no es suficiente. Eso le muestra el código del lado del cliente, mientras que SQLi ocurre en el lado del servidor.

Si examina el código fuente completo que se está ejecutando en el servidor, entonces sí, examinarlo puede permitirle encontrar problemas de SQLi. Incluso puede encontrar SQLI al descompilar archivos ejecutables si un sistema usa ASP sin archivos de origen en el servidor pero no protege los archivos compilados de la descarga.

    
respondido por el Matthew 26.07.2018 - 07:42
fuente
2

El ataque de inyección de SQL típico puede ocurrir cuando la cadena del comando SQL se concatena para incluir una entrada de usuario:

$sql = "SELECT * FROM users WHERE user_name = '".$user_name."'";

Un usuario malintencionado podría ingresar un nombre de usuario como

  

mi nombre '; DROP TABLE usuarios; -

Adivina lo que pasa!

Mejor use declaraciones preparadas y consultas parametrizadas .

    
respondido por el Olivier Jacot-Descombes 26.07.2018 - 01:12
fuente
0

eval() le permite evaluar el código, por lo que puede recibir una inyección de código. Ejemplo: eval("echo 2;"); imprimirá 2 en PHP.

En PHP también tienes shell_exec() donde puedes ejecutar comandos de shell.

Puede consultar varios tipos de inyección aquí .

Mirar el código fuente del sitio web es una forma válida de buscar enlaces a otras páginas y verificar qué parámetros de consulta se utilizan. También puede consultar formularios.

Otra forma es marcar la pestaña Red para ver qué información envía y recibe su navegador. Intente echar un vistazo a Burp Suite , lo ayudará a comprender mejor cómo interceptar solicitudes y manipularlas para detectar algunas vulnerabilidades. .

    
respondido por el David Magalhães 26.07.2018 - 00:48
fuente
0

En realidad, si tiene acceso a la fuente de back-end, entonces sí, podrá identificar SQLi , pero en otro caso no, siempre lo hago manualmente, probando todos los parámetros de entrada , por ejemplo, rellenar nombre de usuario y contraseña con 'OR' 1 = 1 & etc ... Averiguar si el código SQL está saneando los parámetros de publicación.

    
respondido por el OffSecNinja 26.07.2018 - 07:59
fuente

Lea otras preguntas en las etiquetas