Software">
03 Clase - 2 OWASP SQL Injection
03 Clase - 2 OWASP SQL Injection
03 Clase - 2 OWASP SQL Injection
• Motor de DB
• Versión de motor DB
• Versión del OS del servidor.
1) OWASP TOP 10: InjecEon IV - Error Based
Errores identificados
● Página de error por defecto de ASP.net
● Avisa que no existe una columna ‘x’, es decir está difundiendo información
que no debería.
● Una vez que el atacante identifica que hay un “pequeño” error se vale de eso
para hacer intentos más peligrosos.
1) OWASP TOP 10: Injection V - Boolean-Based Blind
→ Verdadero
Si la respuesta del servidor demora 5 segundos más que la pe;ción original, es muy
probable que sea vulnerable.
1) OWASP TOP 10: Injection VII - Union Query-Based
Inyección que permite la ejecución múltiple de consultas (separadas por‘;’), y aprovecha esta
funcionalidad para añadir todo tipo de consultas de ataque después de la consulta válida
enviada.
1) OWASP TOP 10: Injection VIII - Stacked-queries
Se refiere a cuando una referencia a un objeto de implementación interna, tal como un archivo o llave(key, id)
de base de datos, se expone a los usuarios sin ningún otro control de acceso.
Ejemplo:
El problema
Cuando la aplicación toma un objeto especialmente modificado y
serializado, podría procesarlo de tal manera que al deserializarlo se
ejecute código en el servidor.
9) OWASP TOP 10: Using components with known
vulnerabilities (Uso de componentes con vulnerabilidades
conocidas)
Los componentes como bibliotecas, frameworks y otros módulos se ejecutan con los
mismos privilegios que la aplicación.
La mayoría de las fallas de seguridad en CMS tales como WordPress o Joomla se dan
debido a que se han instalado plugins con vulnerabilidades.
● joomscan
● wpscan
10) OWASP TOP 10: Insufficient Logging & Monitoring
(Registro y Monitoreo insuficiente)
Happy Path
Usuario ejecuta el script de la siguiente manera:
• Averiguar la versión de la BD
• Listar todos los usuarios y sus respectivas columnas (no hace
falta en el mismo query)
• Extraer las contraseñas y armar una base de datos de hashes
• “Descifrarlas” J pueden utilizar cualquier recurso
Programación Segura
Programación Segura
En ambos casos, veremos (SIEMPRE en los logs del servidor, NUNCA debe
llegar al lado del cliente) el conocido error:
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near ’delete from
table’ at line 1
MulHple Consultas
üVayan a www.segurilock.com
üEncontrarán el desaKo en Canvas
üDiviértanse J
Bibliografía I
• OWASP Top 10, OWASP FoundaXon. 2017 https://owasp.org/www-pdf-
archive/OWASP_Top_10-2017_%28en%29.pdf.pdf
• Everything you wanted to know about SQL injecXon (but were afraid to ask), Troy
Hunt. 2013 https://www.troyhunt.com/everything-you-wanted-to-know-about-sql/
• Example of a Error-Based SQL InjecXon, Ninja Hatori. 2019
https://medium.com/@hninja049/example-of-a-error-based-sql-injection-dce72530271c
Bibliografía II
ü Security and Secure programming - Database Security., Ing. Tomáš Zahradnický, EUR ING,
Ph.D., Czech Technical University in Prague, Faculty of Informa,on Technology, Department
of Computer Systems.
ü Security and Secure programming - Security of Web Applica,on., Ing. Tomáš Zahradnický,
EUR ING, Ph.D., Czech Technical University in Prague, Faculty of Informa,on Technology,
Department of Computer Systems.
ü Common SQL Injec,on Aeacks, Satyam Singh. 2019
https://pentest-tools.com/blog/sql-injection-attacks/
ü Presentación “Seguridad en Aplicaciones” Módulo 3 – Ing. Gabriela Rak
ü Presentación “OWASP, SQL Injec,on y XSS” – Materia: Seguridad Informá,ca – Carrera Ing.
Informá,ca – Univ. Nacional de Itapua – Febrero 2020 – Ing. Tanía Paiva y Ing. Raúl B. Neeo
ü heps://stackoverflow.com/ques,ons/5741187/sql-injec,on-that-gets-around-mysql-real-
escape-string
Gracias por su atención J
Preguntas?
Contactos: raulbeni@gmail.com