• Publicidad

Problemas con Taint mode en CGI usando Perl 5.14 en Windows

Todo lo relacionado con el desarrollo Web con Perl: desde CGI hasta Mojolicious

Re: Problemas con Taint mode en CGI usando Perl 5.14 en Windows

Notapor Alfumao » 2011-11-23 07:06 @337

Debía ser que el ordenador estaba haciendo algo en segundo plano y por eso tardaba.

No veas la de variables contaminadas que tenía en los CGI...casi me da un síncope, ¡ja,ja,ja!

Con este procedimiento de "taint",
¿qué seguridad funcional le aporto a mi Base de datos?
¿Evito que me puedan mandar un script que me borre la BD?
De no ser así, ¿eso como lo podría hacer?
Alfumao
Perlero nuevo
Perlero nuevo
 
Mensajes: 178
Registrado: 2009-12-10 11:20 @514

Publicidad

Re: Problemas con Taint mode en CGI usando Perl 5.14 en Windows

Notapor explorer » 2011-11-23 08:19 @388

Alfumao escribiste:No veas la de variables contaminadas que tenía en los CGI...casi me da un síncope, ¡ja,ja,ja!
Una forma de abreviarlo es así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. for ($var1, $var2, $var3, $var4) {
  2.     s/\W//g;
  3. }
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4
Con esto, hacemos un bucle por una serie de variables. Para cada una, le pasamos una sustitución, en que cada letra que no sea perteneciente a una palabra, la quitamos. Las variables son actualizadas automáticamente gracias a que son enlazadas por el bucle for().

Alfumao escribiste:Con este procedimiento de "taint",
¿qué seguridad funcional le aporto a mi Base de datos?
¿Evito que me puedan mandar un script que me borre la BD?
De no ser así, ¿eso como lo podría hacer?
"Taint" te sirve para saber qué variables pueden tener contenido contaminado, y te obligará a que hagas ese procedimiento de extracción o filtrado, para que solo tu seas el responsable de recoger esos contenidos. Eso quiere decir que no hay una seguridad plena desde el punto de vista lógico (del programa). Ejemplo: esperas de un usuario que introduzca un nombre, y pones una expresión regular para admitir caracteres alfanuméricos y el espacio en blanco (para permitir nombres compuestos y separar nombre del apellido), y va el listo de turno y mete como nombre una docena de espacios en blanco. "Taint" no se dará cuenta de eso. Debe ser tu lógica de programa la que trate esos casos. Lo que "Taint" te obliga es a hacer la extracción, nada más.

La regla fundamental para tratar con información externa es: quedarnos con los caracteres que nos sirven. ¡Ojo!, esto no es lo mismo que decir que quitamos los caracteres que nos sobran. Siempre puede darse el caso de que se nos haya olvidado mandar quitar algún carácter peligroso. Así, es mejor decir qué caracteres queremos.

En la exp. reg. anterior lo has puesto bien: has indicado qué caracteres buscabas (alfanuméricos, el '.', el '-' y la '@').

Si alguien quiere enviarte código (SQL o en mismo Perl), te llegará con caracteres de avance de línea, el carácter ';' y cosas así. Bueno, pues con exp. reg. como la anterior lo tendrás solventado.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Problemas con Taint mode en CGI usando Perl 5.14 en Windows

Notapor Alfumao » 2011-11-23 08:33 @397

Muchas gracias, explorer, ha sido una explicación muy informativa y concisa.
:D
Alfumao
Perlero nuevo
Perlero nuevo
 
Mensajes: 178
Registrado: 2009-12-10 11:20 @514

Anterior

Volver a Web

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 7 invitados