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

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Filtro Anti- BatchInyection
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Filtro Anti- BatchInyection  (Leído 8,603 veces)
0x0309

Desconectado Desconectado

Mensajes: 215


Ver Perfil
Re: Filtro Anti- BatchInyection
« Respuesta #10 en: 5 Abril 2009, 07:41 am »

simplemente es para dejar claro la forma de utilizar tu código, ya que no es un filtro propiamente tal, sino una forma de tratar a las variables para que su contenido no se ejecute.


En línea

M a t t

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Filtro Anti- BatchInyection
« Respuesta #11 en: 5 Abril 2009, 08:20 am »

-


En línea

M a t t

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: Filtro Anti- BatchInyection
« Respuesta #12 en: 5 Abril 2009, 12:27 pm »

@ Leo Gutierrez

Código:

Teclee su nombre : ! Matt !
Has escrito :
Variable asignada %algo% :


¿Se podría solucionar?

@ 0x0309

Muy interesante la función Clean.
En línea

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

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Filtro Anti- BatchInyection
« Respuesta #13 en: 20 Junio 2009, 20:08 pm »

@ Leo Gutierrez

Código:

Teclee su nombre : ! Matt !
Has escrito :
Variable asignada %algo% :


¿Se podría solucionar?

@ 0x0309

Muy interesante la función Clean.

No me había puesto con el código, hoy lo hice, y si, si se puede solucionar:
Código:
Teclee su nombre : ! Matt !
Has escrito : ! Matt !
Variable asignada %algo% = ! Matt !
Teclee su nombre :

Código:
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :code
  4. set "name="
  5. set /p "name=Teclee su nombre : "
  6. if not defined name (goto:code)
  7. for /f "tokens=1* delims==" %%l in ('set name ^| findstr /r /i "^Name="') do (
  8. echo.Has escrito : %%m
  9. set "algo=%%m"
  10. goto :_123456789:
  11. )
  12. :_123456789:
  13. setlocal enabledelayedexpansion
  14. echo Variable asignada %%algo%% = !algo!
  15. goto:code

Salida:
Código:
Teclee su nombre : &cm
Has escrito : &cm
Variable asignada %algo% = &cm
Teclee su nombre :
Teclee su nombre : &cmd
Has escrito : &cmd
Variable asignada %algo% = &cmd
Teclee su nombre : &echo on
Has escrito : &echo on
Variable asignada %algo% = &echo on
Teclee su nombre : < > cmd
Has escrito : < > cmd
Variable asignada %algo% = < > cmd
Teclee su nombre : |calc
Has escrito : |calc
Variable asignada %algo% = |calc
Teclee su nombre : %%
Has escrito : %%
Variable asignada %algo% = %%
Teclee su nombre : %leo%
Has escrito : %leo%
Variable asignada %algo% = %leo%
Teclee su nombre : %random%
Has escrito : %random%
Variable asignada %algo% = %random%
Teclee su nombre : &goto:Eof
Has escrito : &goto:Eof
Variable asignada %algo% = &goto:Eof
Teclee su nombre : &goto:eof^
Has escrito : &goto:eof^
Variable asignada %algo% = &goto:eof^
Teclee su nombre : %homepath%
Has escrito : %homepath%
Variable asignada %algo% = %homepath%
Teclee su nombre :

Saludos.
En línea

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

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Filtro Anti- BatchInyection
« Respuesta #14 en: 23 Junio 2009, 07:03 am »

Por fin, volví a hacer el código desde 0, aqui esta la versión final:
Código
  1. @echo off
  2. copy /y nul+nul "char.txt" > nul 2>&1
  3. for /f "tokens=1" %%_ in (char.txt) do set "char=%%_"
  4. :code
  5. set /p "name=Name : "
  6. if not defined name (goto:code)
  7. set "name=%char%%name%"
  8. for /f "tokens=1* delims=%char%" %%a in ('set name ^| findstr /r /i "^Name"') do (
  9. echo Has escrito : %%b
  10. set "algo=%%b"
  11. )
  12. setlocal enabledelayedexpansion
  13. echo Variable asignada %%algo%% = {!algo!}
  14. pause>nul
  15. exit /b 0

Salida:

Código:
C:\>este
Name : &cmd
Has escrito : &cmd
Variable asignada %algo% = {&cmd}

C:\>este
Name : ! leo !
Has escrito : ! leo !
Variable asignada %algo% = {! leo !}

C:\>este
Name : !!
Has escrito : !!
Variable asignada %algo% = {!!}

C:\>este
Name : &&
Has escrito : &&
Variable asignada %algo% = {&&}

C:\>este
Name : ||
Has escrito : ||
Variable asignada %algo% = {||}

C:\>este
Name : |calc
Has escrito : |calc
Variable asignada %algo% = {|calc}

C:\>este
Name : <
Has escrito : <
Variable asignada %algo% = {<}

C:\>este
Name : > leo.txt
Has escrito : > leo.txt
Variable asignada %algo% = {> leo.txt}

C:\>este
Name : %homepath%
Has escrito : %homepath%
Variable asignada %algo% = {%homepath%}

C:\>este
Name : &goto:eof
Has escrito : &goto:eof
Variable asignada %algo% = {&goto:eof}

C:\>^goto:eof

C:\>este
Name : ^^
Has escrito : ^^
Variable asignada %algo% = {^^}

C:\>

Código:
Name : |!""'\<<>><>&cmd&calc|find /i "lkasd"
Has escrito : |!""'\<<>><>&cmd&calc|find /i "lkasd"
Variable asignada %algo% = {|!""'\<<>><>&cmd&calc|find /i "lkasd"}
Cualquier error, haganlo saber.

Saludos.
« Última modificación: 23 Junio 2009, 07:07 am por Leo Gutierrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Bach] ~Filtro anti-inyecciones by LauBuru~
Scripting
LauBuru 0 2,205 Último mensaje 9 Diciembre 2011, 23:30 pm
por LauBuru
Polémica en Francia por un filtro anti publicidad instalado por un operador ....
Noticias
wolfbcn 0 1,749 Último mensaje 5 Enero 2013, 13:09 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines