elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


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

Desconectado Desconectado

Mensajes: 266



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

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 am por carlitos.dll » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


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

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

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
carlitos.dll

Desconectado Desconectado

Mensajes: 266



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

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 am por carlitos.dll » En línea

No_NICK

Desconectado Desconectado

Mensajes: 40


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

 

  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 am por No_NICK » En línea

~[uNd3rc0d3]~

Desconectado Desconectado

Mensajes: 188


programando...


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

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.732



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

¿Como hacer para que la variable no se ejecute?

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Variables De Entorno !!! Ayuda
Windows
Puma93 2 3,365 Último mensaje 26 Agosto 2011, 17:20 pm
por Puma93
Variables de Entorno vb 2008
Programación Visual Basic
Odunacam 0 1,943 Último mensaje 5 Octubre 2011, 22:22 pm
por Odunacam
Cambiar variables de entorno en Linux
Programación C/C++
0xDani 4 3,741 Último mensaje 22 Octubre 2012, 16:25 pm
por 0xDani
[SOURCE] PATHS (Administra las entradas de las variables de entorno 'PATH' y...)
.NET (C#, VB.NET, ASP)
Eleкtro 1 4,720 Último mensaje 8 Septiembre 2013, 11:46 am
por Eleкtro
Pasar variables de entorno a variables del sistema
Scripting
Scry 0 2,073 Último mensaje 16 Mayo 2017, 11:09 am
por Scry
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines