Saltar al contenido

Como hacer una inyeccion sql a una pagina web

julio 27, 2022

Prueba de inyección SQL

En esta serie, mostraremos ejemplos paso a paso de ataques comunes. Comenzaremos con un ataque básico de Inyección SQL dirigido a una aplicación web y que lleva a una escalada de privilegios hasta la raíz del sistema operativo.

La inyección SQL es una de las vulnerabilidades más peligrosas a las que puede estar expuesta una aplicación web. Si la entrada de un usuario se pasa sin validar y sin sanear como parte de una consulta SQL, el usuario puede manipular la propia consulta y forzarla a devolver datos diferentes a los que se supone que debe devolver. En este artículo, veremos cómo y por qué los ataques SQLi tienen un impacto tan grande en la seguridad de las aplicaciones.

Antes de echar un vistazo práctico a esta técnica de inyección, veamos rápidamente qué es la Inyección SQL. Supongamos que tenemos una aplicación web que toma el parámetro article a través de una petición $_GET y consulta la base de datos SQL para obtener el contenido del artículo.

Veamos paso a paso lo peligrosa que puede ser la explotación de una Inyección SQL. Sólo como referencia, el siguiente escenario se ejecuta en una máquina Linux con Ubuntu 16.04.1 LTS, PHP 7.0, MySQL 5.7 y WordPress 4.9.

Php sql injection

El lenguaje de consulta estructurado (SQL) es un lenguaje diseñado para manipular y gestionar datos en una base de datos. Desde su creación, SQL se ha ido abriendo camino en muchas bases de datos comerciales y de código abierto. La inyección de SQL (SQLi) es un tipo de ataque de ciberseguridad que se dirige a estas bases de datos utilizando sentencias SQL específicamente elaboradas para engañar a los sistemas para que hagan cosas inesperadas y no deseadas.

  Descargar paginas web

Si se completan con éxito, las inyecciones SQL tienen el potencial de ser increíblemente perjudiciales para cualquier empresa o individuo. Una vez que los datos sensibles se ven comprometidos en un ataque, puede ser difícil recuperarlos por completo.

Las bases de datos suelen ser objeto de inyección a través de una aplicación (como un sitio web, que solicita la entrada del usuario y luego realiza una búsqueda en una base de datos basada en esa entrada), pero también pueden ser objeto de un ataque directo. Los ataques de inyección SQL figuran en la lista OWASP Top 10 de los riesgos de seguridad de las aplicaciones con los que luchan las empresas.

La entrada no desinfectada es un tipo común de ataque SQLi en el que el atacante proporciona una entrada de usuario que no está correctamente desinfectada en cuanto a caracteres que deberían escaparse, y/o la entrada no está validada para ser del tipo correcto/esperado.

Ejemplo de inyección SQL

Este artículo explica cómo comprobar si un sitio web está a salvo de la inyección SQL utilizando la herramienta de pruebas de penetración SQLMAP.    ¿Qué es la inyección SQL? La inyección SQL es una técnica de inyección de código en la que un atacante ejecuta consultas SQL maliciosas que controlan la base de datos de una aplicación web. Con el conjunto adecuado de consultas, un usuario puede obtener acceso a la información almacenada en las bases de datos. SQLMAP comprueba si un parámetro ‘GET’ es vulnerable a la inyección SQL.  Por ejemplo, considere el siguiente segmento de código php: $variable = $_POST[‘input’];

  Paginas web estaticas

-D acuart -T artistas -C aname –dump Prevenir la inyección de SQLLa inyección de SQL puede ser generalmente prevenida usando Sentencias Preparadas . Cuando usamos una sentencia preparada, básicamente estamos usando una plantilla para el código y analizando el código y la entrada del usuario por separado. No mezcla la consulta introducida por el usuario y el código. En el ejemplo dado al principio de este artículo, la entrada introducida por el usuario se inserta directamente en el código y se compilan juntos, y por lo tanto somos capaces de ejecutar el código malicioso. Para las sentencias preparadas, básicamente enviamos la consulta sql con un marcador de posición para la entrada del usuario y luego enviamos la entrada real del usuario como un comando separado.  Considere el siguiente segmento de código php.    $db = new PDO(‘detalles de conexión’);

Prześlij opinię

En esta sección, explicaremos qué es la inyección SQL (SQLi), describiremos algunos ejemplos comunes, explicaremos cómo encontrar y explotar varios tipos de vulnerabilidades de inyección SQL, y resumiremos cómo prevenir la inyección SQL.

Si ya estás familiarizado con los conceptos básicos de las vulnerabilidades SQLi y sólo quieres practicar su explotación en algunos objetivos realistas y deliberadamente vulnerables, puedes acceder a todos los laboratorios de este tema desde el siguiente enlace.

La inyección SQL (SQLi) es una vulnerabilidad de seguridad web que permite a un atacante interferir con las consultas que una aplicación hace a su base de datos. Generalmente permite a un atacante ver datos que normalmente no puede recuperar. Esto puede incluir datos pertenecientes a otros usuarios, o cualquier otro dato al que la propia aplicación pueda acceder. En muchos casos, un atacante puede modificar o eliminar estos datos, provocando cambios persistentes en el contenido o el comportamiento de la aplicación.

  Paginas webs gratis

Un ataque de inyección SQL con éxito puede dar lugar a un acceso no autorizado a datos sensibles, como contraseñas, detalles de tarjetas de crédito o información personal del usuario. En los últimos años, muchas filtraciones de datos de gran repercusión han sido el resultado de ataques de inyección SQL, lo que ha provocado daños a la reputación y multas reglamentarias. En algunos casos, un atacante puede obtener una puerta trasera persistente en los sistemas de una organización, lo que conduce a un compromiso a largo plazo que puede pasar desapercibido durante un período prolongado.

Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad