elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
06 Julio 2008, 20:00  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Scripting
| | | |-+  Validar variables de entorno
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Validar variables de entorno  (Leído 338 veces)
carlitos.dll
**
Desconectado Desconectado

Mensajes: 71

Dale un buen uso a lo que sabes, no destruyas.


Ver Perfil
Validar variables de entorno
« en: 13 Mayo 2008, 06:17 »

Tengo la siguiente pregunta:
En batch para windows ¿cómo puedo validar las variables de entorno?

Ejemplo:
Código:
@echo off
:box
set /p nombre="Ingrese un nombre:"
echo Usted ingresó:
echo %nombre%
:verify
set resp=
set /p resp="¿Está bien?[s/n]":
if "resp"="s" (echo Muy bien & exit)
if "resp"="n" (goto box)
goto verify

Si cuando pide que ingrese un nombre, ingreso lo siguiente:
juan &echo loquesea >>C:\hola.txt

y al imprimir mediante echo la variable de entorno:
muestra por pantalla juan
y luego escribe loquesea en el archivo C:\hola.txt


Por ello, mi pregunta es: ¿como podriamos validar las variables de entorno?




« Última modificación: 13 Mayo 2008, 08:31 por carlitos.dll » En línea

Dale un buen uso a lo que sabes, no destruyas.
RockoX
****
Desconectado Desconectado

Mensajes: 222


Practicando y aprendiendo... L30


Ver Perfil
Re: Validar variables de entorno
« Respuesta #1 en: 13 Mayo 2008, 07:08 »

Hola Carlitos.dll no entiendo muy bien tu pregunta, pero si puedo decirte que esas no son variables de entorno, son simples variables.

Y pues mmmm algo de lo que medio entendi es que para evitar que ciertos caracteres como & > < "" sean tomados como parte del code, puedes usar antes este caracter ^.

Disculpa, es que no entendi bien  :-(

Bueno saludos man.
En línea

Yo tocando Canon Rock (Guitarra Electrica)...   
http://youtube.com/watch?v=xZx7DEweeKw



carlitos.dll
**
Desconectado Desconectado

Mensajes: 71

Dale un buen uso a lo que sabes, no destruyas.


Ver Perfil
Re: Validar variables de entorno
« Respuesta #2 en: 13 Mayo 2008, 08:30 »

gracias RockoX, a lo que me refiero es a limpiar el contenido de una variable para que no contenga comandos:
En el ejemplo logré limpiarlo hasta cierto modo eliminando ciertos caracteres (despues del = y antes del % final no hay nada, por lo que se borra ese caracter) no todos, aunque peor es nada.

@echo off
:box
set /p nombre="Ingrese un nombre:"
set nombre=%nombre:>=%
set nombre=%nombre: =%
set nombre=%nombre:&=%
set nombre=%nombre:^=%
set nombre=%nombre:<=%

Aqui el orden de limpieza si importa, en este caso el caracter con mayor prioridad es el > para que no se pueda redireccionar, luego el espacio, etc. No es completamente optimo para mi gusto, porque no pude filtrar el or |

asi: si en la variable alguien ingresa codigo, se ejecuta.
ejemplo:
set /p nombre="Ingrese un nombre:"
e ingreso:
carlos & echo. | net user Admin *
o
carlos & echo. | format E: /Q

Primero se limpia el > no tiene
Despues el espacio, pero en windos no importan los espacios:
asi sigue quedando el mismo codigo, y cuando filtro el & se alcanza a ejecutar el codigo al leer, debido a que no se pudo filtrar el or |, si ese or hubiese sido & el comando habria perdido sentido.


No logre lo que esperaba, pero al fin y al cabo, algo es algo.
Gracias RockoX por responder.
« Última modificación: 13 Mayo 2008, 08:40 por carlitos.dll » En línea

Dale un buen uso a lo que sabes, no destruyas.
No_NICK
*
Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Validar variables de entorno
« Respuesta #3 en: 14 Mayo 2008, 05:15 »

 

  La manera mas facil de hacer esto es:


       
Código:

set /p nombre="Ingrese un nombre:"

:: aqui filtras lo que el usuario ingreso
for /F "tokens=1" %%a in ('echo %nombre%') do set nam=%%a

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

echo la variable es
echo %nam%


      Saludos xD

...
« Última modificación: 19 Mayo 2008, 01:00 por No_NICK » En línea
~[uNd3rc0d3]~
***
Desconectado Desconectado

Mensajes: 115


programando...


Ver Perfil
Re: Validar variables de entorno
« Respuesta #4 en: 18 Mayo 2008, 21:06 »

yo sigo sin enteder bien tu pregunta...para empezar como ya te dijeron no tiene nada que ver con las variables de entorno, eso es otra cosa aparte que son variables predefinidas como %windir% %homepath% etc

segun lo que entendi vos queres que el usuario ingrase una cadena al programa y lo que queres hacer es depurar algunos comando para evitar exploits del tipo inyectivos

lo que hiciste esta bien y tenes mucha razon en que se ese or hubiese sido and no tendria sentido.... pero quizas puedas leer la cadena que el usuario intrudusco desde un archivo de texto con for, la analizas ahi y la filtras, despues la mostras....

nos vemos
En línea


leete las reglas asi todos estamos mejor ;)
Freeze.
*****
Desconectado Desconectado

Mensajes: 2.325


Fire Joiner


Ver Perfil WWW
Re: Validar variables de entorno
« Respuesta #5 en: 18 Mayo 2008, 23:01 »

¿Como hacer para que la variable no se ejecute?

A eso se refiere él ;)
En línea

Páginas: [1] Ir Arriba Imprimir 
Ir a:  








Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC