¿Qué es SSI?
Inyección
SSI (Server Side Include) es una técnica de explotación de servidor que
permite a un atacante enviar código a una aplicación web, que
posteriormente será ejecutado localmente por el servidor web. Inyección
de código SSI explota el fracaso de una aplicación web para desinfectar
los datos suministrados por el usuario antes de que se insertan en un
server-side interpretada archivo HTML.
Si un atacante envía un
Server-Side Include, él puede tener la capacidad de ejecutar comandos
del sistema operativo, o incluir el contenido de un archivo restringido
la próxima vez que se sirve de la página.
Empecemos.
Paso I - Encontrar un Sitio Vulnerable:
El mejor Dork que he encontrado es inurl:bin/Cklb/ entonces lo escribimos en Google y vamos ir probando...
Paso II - Probando el Sitio Vulnerable:
Cuando usamos la Dork iremos probando web por web para identificar si el sitio es vulnerable a este tipo de inyección...
¿Como identifico si el sitio es vulnerable?
Ejecutando estos simple comandos:
Mostrara la Fecha
Mostrara que el usuario se esta ejecutando en el servidor (Windows)
(Linux)
Mostrara todos los archivos en el directorio
(Windows)
Mostrara todos los archivos en el directorio
Nota: Tenemos que utilizar las etiquetas
cuando ejecutamos algun comando.
Ejemplo:
Entonces tomamos uno de los comandos y lo insertamos en los cuadros de búsqueda o campos de inicio de sesión.
Los campos de inicio de sesión en su mayoría son vulnerables.
Sitio Vulnerable, ejemplo
Lo primero que haremos es ejecutar el comando en los campos como mencione lineas arriba, entonces esto deberia de quedar asi:
& nos devolverá todos los archivos del directorio....
Ahora vemos que nuestro comando se ejecutado con éxito y que el sitio es vulnerable ....
Paso II - Subiendo la Shell:
Como ya sabemos que el sitio web es vulnerable, entonces ya estamos listos para crear una shell.
En primer lugar tenemos que tener la shell en un .TXT y la subimos a cualquier host o nuestro host propio, ejemplo:
www.sitio-web.com/shell.txt
Ahora tenemos que descargar la shell con el siguiente comando:
Ahora sólo pegamos en el campo y pulsamos Entrar o Intro.
Para ver si el archivo en .TXT se ha descargado, tenemos que ejecutar el comando que usamos antes para listar los directorios:
En este caso yo he colocado config1.txt ustedes pueden utilizar cualquier nombre
Entonces
si vemos que se ha descargado correctamente, ahora solo debemos cambiar
el nombre de .Txt a .Php, utilizando el siguiente comando:
Ahora, tenemos que listar nuevamente todos los archivos y tratar de encontrar la shell, en este caso se mostrara como config.php
Ahora, como ya sabemos que la shell esta en formato php, solo nos faltaria entrar a dicho archivo desde el navegador:
& Voila tenemos nuestra shell....
Les dejare algunas dorks:
inurl:bin/Cklb/ - Best Dork
inurl:login.shtml
inurl:login.shtm
inurl:login.stm
inurl:search.shtml
inurl:search.shtm
inurl:search.stm
inurl:forgot.shtml
inurl:forgot.shtm
inurl:forgot.stm
inurl:register.shtml
inurl:register.shtm
inurl:register.stm
inurl:login.shtml?page=
Espero que hayas aprendido algo...
Saludos.
Fuente:http://underc0de.org/foro/bugs-y-exploits/subir-shell-a-traves-de-inyeccion-ssi-%28server-side-include%29/