Curso de Inyección SQL para Principiantes (video)

  Aunque hay miles de diseños que aprovechan las vulnerabilidades de las páginas web diseñadas incorrectamente, la inyección SQL es, con mucho, uno de los ataques más efectivos, simples y poderosos. A medida que más y más sitios web dependen de diseños basados ​​en datos para crear contenido dinámico para los lectores, los ataques de inyección SQL ocurren todos los días. Estos diseños dinámicos usan MySQL


U otro administrador de base de datos que pueda estar basado en SQL, por lo que los hace vulnerables a este ataque. Dado que los ataques de inyección de SQL funcionan directamente en la base de datos, debe tener un conocimiento básico de SQL antes de comenzar. Para aquellos que no están familiarizados con los lenguajes de consulta estructurados, aprender SQL es un recurso excelente. En este artículo, aprenderá a realizar ataques de inyección SQL en sitios web. Tenga en cuenta que este artículo es solo para fines académicos. Si ataca un sitio web que no le pertenece, está infringiendo la ley y puede enfrentarse a prisión y multas elevadas. Dicho esto, lo ayudará a comprender cómo funciona la inyección SQL y evitará que suceda en su propio sitio web.


¿Qué es la inyección SQL?

 La inyección SQL es una técnica de inyección de código que puede aprovechar las vulnerabilidades de seguridad en la capa de la base de datos de la aplicación. Esta vulnerabilidad se puede encontrar debido a un filtrado de entrada de usuario inadecuado debido a los caracteres de escape incrustados en la declaración SQL. Aunque la inyección SQL se usa principalmente para atacar sitios web, también se puede usar para atacar cualquier base de datos SQL. El año pasado, una empresa de seguridad informó que una técnica de inyección de SQL fue atacada al menos cuatro veces al mes por aplicación web en promedio. Los distribuidores en línea son atacados más que cualquier otra industria que existe en línea.

Elija objetivo El primer paso para realizar un ataque de inyección SQL es encontrar un sitio web vulnerable. Por supuesto, este es el proceso que lleva más tiempo en todo el proceso de ataque. Cada vez más páginas web se protegen de la inyección de SQL, por lo que encontrar objetivos vulnerables puede llevar algún tiempo. Una de las formas más fáciles de encontrar sitios vulnerables es Google Dorking. En este caso, nerd es una consulta de búsqueda específica que se utiliza para encontrar sitios web que coincidan con los parámetros de la consulta avanzada que ingresó. Algunos ejemplos de peculiaridades que se pueden utilizar para encontrar sitios vulnerables a ataques de inyección SQL incluyen:
 
inurl:index.php?id=

inurl:trainers.php?id=

inurl:buy.php?category=

inurl:article.php?ID=

inurl:play_old.php?id=

inurl:declaration_more.php?decl_id=

inurl:pageid=

inurl:games.php?id=

inurl:page.php?file=

inurl:newsDetail.php?id=

inurl:gallery.php?id=

inurl:article.php?id=

inurl:show.php?id=

inurl:staff_id=

inurl:newsitem.php?num= andinurl:index.php?id=

inurl:trainers.php?id=

inurl:buy.php?category=

inurl:article.php?ID=

inurl:play_old.php?id=

inurl:declaration_more.php?decl_id=

inurl:pageid=

inurl:games.php?id=

inurl:page.php?file=

inurl:newsDetail.php?id=

inurl:gallery.php?id=

inurl:article.php?id=

inurl:show.php?id=

inurl:staff_id=

inurl:newsitem.php?num=
Por supuesto, hay muchos otros. El componente clave de estas consultas de búsqueda específicas es que todas se concentran en sitios web que dependen de scripts PHP para generar contenido dinámico a partir de una base de datos SQL en algún lugar del back-end del servidor. Puede aprender más sobre PHP a través de los conocimientos básicos de programación PHP en este curso. Recuerde que los ataques de inyección SQL se pueden ejecutar en cualquier base de datos SQL, pero las páginas web basadas en PHP son su mejor objetivo, porque todos pueden configurarlo (por ejemplo, WordPress), y generalmente contiene muchos clientes relevantes en la base de datos Información valiosa. Intentó atacar.
 
Sin embargo, el hecho de que Google use estas cosas raras para devolverle resultados no significa que usted sea vulnerable. El siguiente paso es probar cada sitio web hasta que se encuentre un sitio web vulnerable. Navegue a uno de esos sitios encontrados. Para este ejemplo, suponga que uno de los resultados de la búsqueda es http://www.udemy.com/index.php?catid=1. Para determinar si este sitio es vulnerable a la inyección de SQL, simplemente agregue un apóstrofo al final de la URL, como se muestra a continuación: http://www.udemy.com/index.php?catid=1 ' Haga clic en Entrar para ver las funciones del sitio web. Si la página devuelve un error de SQL, el sitio web es vulnerable a la tecnología de inyección de SQL. En este punto, comprender SQL se vuelve aún más importante, porque comenzará a operar la base de datos directamente desde la página vulnerable. Puede comenzar a practicar SQL, por ejemplo, utilizando una base de datos de Access. Este curso de base de datos con Microsoft Access 2013 lo ayudará a diseñar tablas, ejecutar consultas y más.
 
Iniciar ofensa Después de encontrar el sitio vulnerable, debe averiguar cuántas columnas existen en la base de datos y cuál de ellas puede aceptar su consulta. Agregue un pedido por declaración a la URL como este: * http: //www.udemy.com/index.php? catid = 1 por 1 Continúe aumentando el número después de "ordenar por" hasta que se devuelva un error. El número de columnas en la base de datos es el número máximo de columnas que se pueden obtener antes de recibir un error. También debe averiguar qué columnas aceptan la consulta. Puede hacer esto agregando una declaración de "selección conjunta" en la URL. La declaración de selección conjunta de la URL es la siguiente:
 Si no conoce el comando SQL para terminar el exploit, debe estudiar algunos comandos antes de intentar un ataque de inyección SQL. Con esta información, puede buscar vulnerabilidades en sitios web y realizar pruebas de penetración en otros sitios web. Recuerde, lo que haga con esta información es solo su responsabilidad. Hackear puede ser divertido, pero no significa que tengas que infringir la ley para divertirte.
 
*http://www.udemy.com/index.php?catid=-1 union select 1,2,3,4,5,6
En este ejemplo, hay dos cosas a considerar. Antes del número 1 (después de catid), se debe agregar un guión (-). De manera similar, la cantidad de columnas encontradas en el paso anterior es la cantidad de dígitos que se colocarán después de la declaración de selección conjunta. Por ejemplo, si encuentra que la base de datos tiene 12 columnas, debe agregar:
*catid=-1 union select 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
El resultado de la consulta corresponderá al número de columna de la consulta aceptada. Puede seleccionar cualquiera de estas columnas para inyectar sentencias SQL.
Uso de la base de datos En este punto, sabe a qué columnas dirigir la instrucción SQL y luego puede comenzar a usar la base de datos. A partir de ahora, se basará en declaraciones de selección conjunta para realizar la mayoría de las funciones. Con esto concluye este tutorial. Ha aprendido a elegir un sitio web vulnerable y a detectar qué columnas responden a su consulta. Lo único que queda es agregar comandos SQL a la URL. Algunas de las funciones más comunes que puede realizar ahora incluyen: obtener una lista de bases de datos disponibles, obtener usuarios actuales, obtener tablas y, finalmente, las columnas en estas tablas. Esta columna es donde se almacena toda la información personal.
 

video Tutorial




Fuentes: varias











Entradas que pueden interesarte

Sin comentarios