I.S.C. Victor H. Garcia Inyección SQL
<ul><li>Que es SQL? </li></ul>
<ul><li>El usuario coloca información que suple datos y ellos son validos para una aplicación sin una apropiada validación...
<ul><li>Una tipica consulta SQL es:  </li></ul><ul><li>select id, Firstname, Lastname from authors  </li></ul><ul><li>sele...
<ul><li>Error:  </li></ul><ul><li>Incorrect syntax near 'Name'. Unclosed quotation mark after the character string ')'. </...
 
<ul><li>Extraer datos confidenciales </li></ul><ul><li>Agregar o Modificar datos </li></ul><ul><li>Impedir el acceso al si...
 
<ul><li>Inyección atraves de la entrada de un usuario </li></ul><ul><li>Cadenas peligrosas en un formulario web. </li></ul...
<ul><li>Consultas peligrosas en el DB server </li></ul><ul><li>Tautologias </li></ul><ul><li>Codificación Alterna </li></u...
<ul><li>Insertar consultas adicionales para que estas sean ejecutadas por el servidor </li></ul><ul><li>queryString = “SEL...
<ul><li>Crear una consulta que siempre evalue una entrada valida en SQL </li></ul><ul><li>queryString = “SELECT info FROM ...
<ul><li>Prevención </li></ul><ul><li>Detectar vulnerabilidades en el codigo </li></ul><ul><li>Librerias seguras </li></ul>...
<ul><li>Defensa con las mejores practicas de programación </li></ul><ul><li>Pruebas de Inyección </li></ul><ul><li>Analisi...
Anomalias basadas en el codigo malicioso.
<ul><li>1. SQL tiene: </li></ul><ul><li>a) Muchas fuentes </li></ul><ul><li>b) Muchos Objetivos </li></ul><ul><li>c) Mucho...
ivictorhugo http://www.facebook.com/vhugo http://mx.linkedin.com/in/victorhugogarcia
Upcoming SlideShare
Loading in …5
×

Sql Injection

1,725 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,725
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
52
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sql Injection

  1. 1. I.S.C. Victor H. Garcia Inyección SQL
  2. 2. <ul><li>Que es SQL? </li></ul>
  3. 3. <ul><li>El usuario coloca información que suple datos y ellos son validos para una aplicación sin una apropiada validación. </li></ul><ul><li>Procesados como comandos SQL. </li></ul>
  4. 4. <ul><li>Una tipica consulta SQL es: </li></ul><ul><li>select id, Firstname, Lastname from authors </li></ul><ul><li>select id, FirstName, LastName from authors where FirstName = 'john' and LastName = 'smith' </li></ul><ul><li>FirstName: jo'hn </li></ul><ul><li>LastName: smith </li></ul><ul><li>La ‘consulta' se convierte en: </li></ul><ul><li>select id, forename, surname from authors where FirstName = 'jo'hn' and LastName = 'smith' </li></ul>
  5. 5. <ul><li>Error: </li></ul><ul><li>Incorrect syntax near 'Name'. Unclosed quotation mark after the character string ')'. </li></ul><ul><li>Ahora el ataque: </li></ul><ul><li>FirstName: jo'; drop table authors-- </li></ul>
  6. 7. <ul><li>Extraer datos confidenciales </li></ul><ul><li>Agregar o Modificar datos </li></ul><ul><li>Impedir el acceso al sistema </li></ul><ul><li>Identificacion exitosa de usuario admin </li></ul><ul><li>Ejecutar comandos remotos </li></ul>
  7. 9. <ul><li>Inyección atraves de la entrada de un usuario </li></ul><ul><li>Cadenas peligrosas en un formulario web. </li></ul><ul><li>Inyección atraves de cookies </li></ul><ul><li>Modificando campos de una cookie que contenga una cadena peligrosa. </li></ul><ul><li>Inyección atraves de variables del servidor </li></ul><ul><li>Las cabeceras son modificadas para poner una cadena peligrosa. </li></ul><ul><li>Inyección SQL de segundo orden </li></ul><ul><li>Un caballo de troya donde todo parece bien hasta que cierta situación cambia. </li></ul>
  8. 10. <ul><li>Consultas peligrosas en el DB server </li></ul><ul><li>Tautologias </li></ul><ul><li>Codificación Alterna </li></ul><ul><li>Ilegal/logicas consultas incorrectas </li></ul><ul><li>Union Query </li></ul><ul><li>Stored Procedures </li></ul>
  9. 11. <ul><li>Insertar consultas adicionales para que estas sean ejecutadas por el servidor </li></ul><ul><li>queryString = “SELECT info FROM userTable WHERE” + </li></ul><ul><li>“ login=‘” + login + “' AND pin=” + pin; </li></ul><ul><li>Input pin as “0; DROP database webApp” </li></ul><ul><li>queryString = “SELECT info FROM userTable WHERE </li></ul><ul><li>login=‘name' AND pin=0; DROP database webApp” </li></ul>
  10. 12. <ul><li>Crear una consulta que siempre evalue una entrada valida en SQL </li></ul><ul><li>queryString = “SELECT info FROM userTable WHERE” + </li></ul><ul><li>“ login=‘” + login + “' AND pin=” + pin; </li></ul><ul><li>Input login as “user’ or 1=1 --” </li></ul><ul><li>queryString = “SELECT info FROM userTable WHERE login=‘user‘ or 1=1 --' AND pin=“ </li></ul>
  11. 13. <ul><li>Prevención </li></ul><ul><li>Detectar vulnerabilidades en el codigo </li></ul><ul><li>Librerias seguras </li></ul><ul><li>Detección </li></ul><ul><li>Detectar ataques en tiempo de ejecución </li></ul>
  12. 14. <ul><li>Defensa con las mejores practicas de programación </li></ul><ul><li>Pruebas de Inyección </li></ul><ul><li>Analisis estatico del codigo </li></ul><ul><li>Librerias de desarrollo seguras </li></ul>
  13. 15. Anomalias basadas en el codigo malicioso.
  14. 16. <ul><li>1. SQL tiene: </li></ul><ul><li>a) Muchas fuentes </li></ul><ul><li>b) Muchos Objetivos </li></ul><ul><li>c) Muchos Tipos </li></ul><ul><li>2. Las técnicas de detección pueden ser efectivas pero limitadas debido a que son las mismas </li></ul><ul><li>3. Técnicas de prevención pueden ser muy efectivas, pero eso ya depende del programador. </li></ul>
  15. 17. ivictorhugo http://www.facebook.com/vhugo http://mx.linkedin.com/in/victorhugogarcia

×