Inyección de Código

Las fallas de inyección ocurren cuando una aplicación envía información no confiable a un interprete. Estas fallas son muy comunes, particularmente en el código antiguo. Se encuentran, frecuentemente, en las consultas SQL, LDAP, Xpath o NoSQL; los comandos de SO, intérpretes de XML, encabezados de SMTP, argumentos de programas, etc. Estas fallas son fáciles de descubrir al examinar el código, pero dificiles de descubrir por medio de pruebas. Los analizadores y «fuzzers» pueden ayudar a los atacantes a encontrar fallas de inyección.


¿Puedo ser vulnerable?

La mejor manera de averiguar si una aplicación es vulnerable a una inyección es verificar que en todo uso de intérpretes se separa la información no confiable del comando o consulta. Para llamados SQL, esto significa usar variables parametrizadas en todas las sentencias preparadas (prepared statements) y procedimientos almacenados, evitando las consultas dinámicas.

Verificar el código es una manera rápida y precisa para ver si la aplicación usa intérpretes de manera segura. Herramientas de análisis de código pueden ayudar al analista de seguridad a ver como se utilizan los intérpretes y seguir el flujo de datos a través de la aplicación. Los testadores pueden validar estos problemas al crear pruebas que confirmen la vulnerabilidad.

El análisis dinámico automatizado, el cual ejercita la aplicación puede proveer una idea de si existe alguna inyección explotable. Los analizadores automatizados no siempre pueden alcanzar a los intérpretes y se les dificulta detectar si el ataque fue exitoso. Un manejo pobre de errores hace a las inyecciones fáciles de descubrir.

Ejemplos de Ataques

Ejemplo #1: La aplicación usa datos no confiables en la construcción de la siguiente instrucción SQL vulnerable: Ejemplo #2: De manera similar, si una aplicación confia ciegamente en el framework puede resultar en consultas que aún son vulnerables, (ej., Hibernate Query Language (HQL)): En ambos casos, al atacante modificar el parámetro ‘id’ en su navegador para enviar: ' or '1'='1. Por ejemplo: Esto cambia el significado de ambas consultas regresando todos los registros de la tabla “accounts”. Ataques más peligrosos pueden modificar datos o incluso invocar procedimientos almacenados.

¿Cómo prevenirlo?

Evitar una inyección requiere mantener los datos no confiables separados de los comandos y consultas.
  • La opción preferida es usar una API segura la cual evite el uso de interpretes por completo o provea una interface parametrizada. Sea cuidadoso con las APIs, como los procedimiento almacenados, que son parametrizados, pero que aún pueden introducir inyecciones en el motor del interprete.

  • Si una API parametrizada no está disponible, debe codificar cuidadosamente los caracteres especiales, usando la sintaxis de escape específica del intérprete.

  • La validación de entradas positiva o de "lista blanca" también se recomienda, pero no es una defensa integral dado que muchas aplicaciones requieren caracteres especiales en sus entradas. Si se requieren caracteres especiales, solo las soluciones anteriores 1. y 2. harían su uso seguro.
Nombre

Accesibilidad Actualidad Adobe Flash AirPods Amazon Amazon Music Unlimited Amazon Protect AMD Android Android 6.0 Marshmallow Android Auto Android Nougat Android Things Android Wear Animación Anti-Virus Aplicaciones Aplicaciones Web App Store Apple apple ipad 3 Audio AVG Base64 Bases de datos Black Friday BlackBerry BlackBerry 10 Blizzard Blogger Bromas Ciencia Clonaciones CMS Codificación Código Fuente Códigos Compras por Internet Consolas Contraseñas Cookies Cross site scripting Darknet Dart DDoS Deface Defacing Desarrolladores Diseño Web DOS Drivers Drones Experiencia Exploit Extensiones Exynos 9 Facebook Facebook Events Facebook Messenger fingerprinting Firefox 12 Fraudes Gadgets Gaming General GitHub Gmail Google Google Allo Google Analytics Google App Maker Google Chrome Google Drive Google Flights Google Imágenes Google Maps Google Pixel Google Play Google+ Gráficas Hacker Hackers Hacking Hacks Hardware HD Herramientas HI5 Hijacking htaccess HTML humans.txt Humor Gráfico Infección Informática Ingeniería Social Instagram Intel Internet Inyeccion iOS iOS 10 ip iPad 3 Iphone iPhone 7 iPhone 8 Javascript Juegos Kurt Cobain Land LinkedIn Linux Live HTTP headers Malware Mantenimiento Memorias Memorias USB MicroSD Microsoft Móviles Mozilla Firefox Música MySQL Navegadores Nexus Nintendo Nintendo NX Nintendo Switch Notebooks Noticias NVIDIA Ocio Opera Ordenador Overclocking Passwords PayPal Personal Phishing PHP Phreaking Plugins Portatiles Privacidad Procesadores Programación Programas Qualcomm Ransomware Realidad Virtual Redes Inalambricas Redes Sociales Redes y Conexiones Routers Samsung Samsung Galaxy Note 8 Samsung Galaxy S8 SD Seguridad Seguridad Informática SEO Servicios Web Sesiones Web Sistemas Operativos Skype Smartphones SMTP Flood Snap Inc Snapchat Snapdragon Snooping Software Sonico Sony Sony Xperia Source routing Spectacles Spotify Steam Steve Jobs TeamViewer Teclado Tecnología Telefonía Telegram Tips Tp-Link Tráfico Web Trailers Trasteando Troyanos Trucos Tutoriales Twitter Uber Ultrabooks USB Utilidades VBScript vBulletin Video Streaming VideoJuegos Videos Vídeos Virus Vulnerabilidades Vulnerabilidades Web Web WhatsApp Wifi Windows Windows 10 Windows 7 Windows 8 Windows 8.1 Windows Live Windows XP WordPress XBOX 360 XSS Yahoo! Youtube
false
ltr
item
Carluys Blog: Inyección de Código
Inyección de Código
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTtYgRncK_64CzkXEexpjtdKuiTCaf6ybRH2lg5ueo5sKFVKRGpazyfhAyylDuUrtyE2z7hkmYo7PJv2Xy3J1zAyYbpVisRZLN6LrkGMsZlBMPYPxrOzgF8u_DJdTOcoEkPGPUCPCVFM-C/s400/inyeccion-de-codigo-carluys.png
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTtYgRncK_64CzkXEexpjtdKuiTCaf6ybRH2lg5ueo5sKFVKRGpazyfhAyylDuUrtyE2z7hkmYo7PJv2Xy3J1zAyYbpVisRZLN6LrkGMsZlBMPYPxrOzgF8u_DJdTOcoEkPGPUCPCVFM-C/s72-c/inyeccion-de-codigo-carluys.png
Carluys Blog
https://carluys.blogspot.com/2014/01/inyeccion-de-codigo.html
https://carluys.blogspot.com/
https://carluys.blogspot.com/
https://carluys.blogspot.com/2014/01/inyeccion-de-codigo.html
true
5177014300366239033
UTF-8
Not found any posts Not found any related posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU Tag ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Contents Ver también relacionados Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy