Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 49598|Respuesta: 0

[Fuente] (Security).NET/C# impide el acceso entre directorios a las descargas

[Copiar enlace]
Publicado el 7-4-2021 11:57:38 | | | |
Escenario: Existe una interfaz API que recibe parámetros de ruta, completa la ruta del archivo a través de ciertas reglas y luego responde a la descarga al usuario.

Request:
GET /download_page?id=content.dat HTTP/1.1

Request:
GET /download_page?id=.. %2f.. %2fweb.config HTTP/1.1(Esto descarga el archivo web.config del servidor

Supongamos que D:\storage\123 es el directorio raíz de la almacén, y todos los archivos almacenados están en ese directorio, cuando el usuario añade la ruta a: . El símbolo puede cruzarse bajo el directorio anterior, y el parámetro URL se pasa por: /.. / Acceso fácil a recursos sensibles y descargas.

solución

Vamos a echar un vistazo primero a los renders:



El código es el siguiente:







Anterior:Sitio web de descifrado en línea MD5 comúnmente utilizado tanto en el país como en el extranjero
Próximo:La diferencia entre /bin/false y /sbin/nologin, que prohíbe a los usuarios iniciar sesión
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com