Esta clase está basada en el capítulo 10 "Attacking Back-End Components" del libro
"The Web Application Hacker's Handbook 2".
Sistema operativo
Inyección en el S.O.
Se inyectan comandos válidos en consultas pasadas a la shell.
Un vector válido dependerá del sistema operativo subyacente.
Este tipo de inyección no está relacionada sólo con aplicaciones web.
Demo de inyección en el S.O.
Inyección a través de ejecución dinámica
Algunos lenguajes web permiten ejecución dinámica de código en tiempo de ejecución.
Además de ser una práctica no recomendada, se podrían ejecutar comandos arbitrariamente.
El vector de inyección dependerá del lenguaje de programación usado y su configuración.
Prevención
Ocupar APIs si es posible, en vez de realizar la consulta al S.O.
Usar funciones seguras proporcionadas por el lenguaje.
Al igual que en el lado del cliente, evitar ejecutar datos como código.
XML
Inyección de entidades externas (XEE)
Algunas bibliotecas soportan el uso de referencia a entidades.
La especificación XML soporta referencias externas que son
solicitadas por el parser.
<!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<search>&xxe;</search>
Demo de XEE
Inyección en servicios SOAP
SOAP es un protocolo que usa XML para encapsular datos.
Así, parámetros recibidos por la aplicación forman parte de un
documento XML enviado a un servicio.
Se puede dar el caso de inyectar etiquetas que generen comportamientos inesperados.
La solución es aplicar codificación HTML a los datos contenidos
en los parámetros iniciales.
Peticiones HTTP
Redirección HTTP
Datos suministrados por el usuario son usados para realizar peticiones por el servidor.
Dependiendo de cómo se usan estos datos, se podrían consultar servicios.
El siguiente nivel es Server Side Request Forgery (SSRF).