Derivación del filtro SSRF

Hola, mi nombre es W1C3 y hoy voy a explicar cómo obtener acceso de lectura de archivos arbitrarios a través de la falsificación de solicitud del lado del servidor (SSRF) omitiendo el filtro. Este reto fue desarrollado para el WaniCTF .
Nombre
Captura de pantalla
Descripción
Una aplicación que toma capturas de pantalla de tus sitios web favoritos.
Tutorial
Al acceder al sitio web, se puede observar que es una página muy sencilla. Su única funcionalidad es recibir una URL, acceder a la URL usando un navegador web y tomar una captura de pantalla.

En este desafío, a medida que se proporciona el código fuente, podemos ver que realiza una verificación que debemos omitir, ya que se debe incluir " HTTP " en nuestra solicitud y no se puede incluir " ARCHIVO ".

Para verificar esto, intentaremos leer el archivo /etc/passwd , pero sin éxito.

Como mencionamos anteriormente, el filtro que debemos omitir debe contener la cadena " http " o no incluir la cadena " archivo ".

Ahora que estamos en el paso anterior, sabiendo que SSRF existe y entendiendo el filtro que debemos omitir, agregaremos " File:// " al principio y " ../../../../flag. txt ” o “ ../../../../etc/passwd ” hasta el final. Con esto, podremos leer el archivo “flag.txt” para completar nuestro desafío.
NOTA : el archivo debe contener al menos una letra mayúscula para omitir el filtro

Para hacerlo más fácil, eliminaremos algunos datos de la solicitud. En este caso, nuestra carga útil se vería así:
File:///http/../../flag.txt
Conclusión
En este desafío, hemos demostrado cómo eludir un filtro simple que intentaba evitar SSRF al rechazar el protocolo " archivo " y requerir el protocolo " http ". Al construir cuidadosamente nuestra solicitud con una letra mayúscula en el parámetro " archivo " y usar el protocolo " Archivo: // ", pudimos leer archivos arbitrarios en el servidor.
Gracias por leer esta publicación. Estén atentos a las próximas publicaciones en el blog y no duden en seguirme en las redes sociales para obtener actualizaciones. Además, tenga en cuenta que mi GitHub personal tendrá publicaciones publicadas en español. ¡Adiós!
GitHub: J-W1C3
Twitter: Josewice7
Telegrama: W1C3Mensajes
Únase a mi canal de Telegram para mantenerse actualizado cuando se publiquen nuevas publicaciones.