diff options
author | ramon <ramongomez@us.es> | 2013-03-07 12:27:15 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2013-03-07 12:27:15 +0000 |
commit | 75f9c01c51d27ac4827344c650cb9434c9490aa0 (patch) | |
tree | 98166d9e4c2c11f87c7375094da290f88a5187d4 /server/bin/listclientmode | |
parent | 3d297dcb79dfec91704f4efbea2bf818b7f788f9 (diff) |
#584: Solución problema de inyección SQL en comandos {{{listclientmode}}} y {{{setclientmode}}}.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@3668 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'server/bin/listclientmode')
-rwxr-xr-x | server/bin/listclientmode | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/server/bin/listclientmode b/server/bin/listclientmode index ba86f141..4e30731a 100755 --- a/server/bin/listclientmode +++ b/server/bin/listclientmode @@ -26,9 +26,11 @@ fi # Obtener datos de acceso a la Base de datos. source $SERVERCONF +# Sustituir caracteres ' por \' para evitar inyección SQL. +RESOURCE="${1//\'/\'}" # Comprobar si se recibe nombre de aula o de equipo. IDAULA=$(mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" -N -e \ - "SELECT idaula FROM aulas WHERE nombreaula='$1';") + "SELECT idaula FROM aulas WHERE nombreaula='$RESOURCE';") if [ -n "$IDAULA" ]; then # Aula encontrada @@ -37,7 +39,7 @@ if [ -n "$IDAULA" ]; then else # Buscar ordenador PCNAME=$(mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" -N -e \ - "SELECT nombreordenador FROM ordenadores WHERE nombreordenador='$1';") + "SELECT nombreordenador FROM ordenadores WHERE nombreordenador='$RESOURCE';") fi if [ -z "$PCNAME" ]; then echo "$PROG: No existe ningún aula o equipo con el nombre \"$1\"" |