• Publicidad

Cadenas literales dentro del código

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Cadenas literales dentro del código

Notapor BigBear » 2013-12-07 21:37 @942

Hace tiempo que quería meter todas estas líneas en un array pero la única solución que logré fue meterlas en un archivo de texto y leerlas desde ahí.

Las líneas son estas:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
admin'--
'or'1'='1
'or'
' or 0=0 --
" or 0=0 --
or 0=0 --
' or 0=0 #
" or 0=0 #
or 0=0 #
' or 'x'='x
" or "x"="x
') or ('x'='x
' or 1=1--
" or 1=1--
or 1=1--
' or a=a--
" or "a"="a
') or ('a'='a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi' or 1=1 --
hi' or 'a'='a
hi') or ('a'='a
hi") or ("a"="a
- ' or 'x'='x
- ' or 'x'='x
'or'1 ou 'or''='
' or 'x'='x
admin' or 1==1
' OR "='
'or'1'='1
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

Honestamente nunca me gustó ni convenció la alternativa de guardar en un archivo de texto estas líneas desgraciadas. Esta es la pregunta: ¿existe alguna forma de hacer este array con tantas ' " u otros signos raros?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Cadenas literales dentro del código

Notapor explorer » 2013-12-07 23:37 @025

Escribiéndolo como un documento incrustado, se puede hacer fácil:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my @array = split /\n/, <<'EOS';
  2. admin'--
  3. 'or'1'='1
  4. 'or'
  5. ' or 0=0 --
  6. " or 0=0 --
  7.     or 0=0 --
  8. ' or 0=0 #
  9. " or 0=0 #
  10.     or 0=0 #
  11. ' or 'x'='x
  12. " or "x"="x
  13. ') or ('x'='x
  14. ' or 1=1--
  15. " or 1=1--
  16.     or 1=1--
  17. ' or a=a--
  18. " or "a"="a
  19. ') or ('a'='a
  20. ") or ("a"="a
  21. hi" or "a"="a
  22. hi" or 1=1 --
  23. hi' or 1=1 --
  24. hi' or 'a'='a
  25. hi') or ('a'='a
  26. hi") or ("a"="a
  27. - ' or 'x'='x
  28. - ' or 'x'='x
  29. 'or'1 ou 'or''='
  30. ' or 'x'='x
  31. admin' or 1==1
  32. ' OR "='
  33. 'or'1'='1
  34. EOS
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Los documentos incrustados son herencia de los shell.

Esta otra forma es mucho mejor: separa los datos, del código del programa:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3. chomp(my @array = <DATA>);
  4.  
  5. print "[$array[0]]\n";
  6.  
  7. __DATA__
  8. admin'--
  9. 'or'1'='1
  10. 'or'
  11. ' or 0=0 --
  12. " or 0=0 --
  13.    or 0=0 --
  14. ' or 0=0 #
  15. " or 0=0 #
  16.     or 0=0 #
  17. ' or 'x'='x
  18. " or "x"="x
  19. ') or ('x'='x
  20. ' or 1=1--
  21. " or 1=1--
  22.    or 1=1--
  23. ' or a=a--
  24. " or "a"="a
  25. ') or ('a'='a
  26. ") or ("a"="a
  27. hi" or "a"="a
  28. hi" or 1=1 --
  29. hi' or 1=1 --
  30. hi' or 'a'='a
  31. hi') or ('a'='a
  32. hi") or ("a"="a
  33. - ' or 'x'='x
  34. - ' or 'x'='x
  35. 'or'1 ou 'or''='
  36. ' or 'x'='x
  37. admin' or 1==1
  38. ' OR "='
  39. 'or'1'='1
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
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: Cadenas literales dentro del código

Notapor BigBear » 2013-12-09 11:26 @518

explorer, estoy usando tu primer ejemplo pero cuando pongo código después del array me da este error:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
Can't find string terminator "EOS" anywhere before EOF
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Cadenas literales dentro del código

Notapor explorer » 2013-12-09 15:21 @681

El error dice que no encuentra la palabra "EOS", así que, no está o estará mal puesta.
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: Cadenas literales dentro del código

Notapor BigBear » 2013-12-09 18:48 @825

Pero si lo copié tal cual...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!usr/bin/perl
  2.  
  3.     my @array = split /\n/, <<'EOS';
  4.     admin'--
  5.    'or'1'='1
  6.    'or'
  7.    ' or 0=0 --
  8.     " or 0=0 --
  9.        or 0=0 --
  10.    ' or 0=0 #
  11.    " or 0=0 #
  12.         or 0=0 #
  13.     ' or 'x'='x
  14.     " or "x"="x
  15.     ') or ('x'='x
  16.     ' or 1=1--
  17.    " or 1=1--
  18.        or 1=1--
  19.    ' or a=a--
  20.     " or "a"="a
  21.     ') or ('a'='a
  22.     ") or ("a"="a
  23.     hi" or "a"="a
  24.     hi" or 1=1 --
  25.    hi' or 1=1 --
  26.    hi' or 'a'='a
  27.    hi') or ('a'='a
  28.    hi") or ("a"="a
  29.    - ' or 'x'='x
  30.    - ' or 'x'='x
  31.    'or'1 ou 'or''='
  32.    ' or 'x'='x
  33.    admin' or 1==1
  34.    ' OR "='
  35.    'or'1'='1
  36.    EOS
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Cadenas literales dentro del código

Notapor explorer » 2013-12-09 19:04 @836

No, no lo has copiado tal cual.

Fíjate que delante de 'EOS' hay espacios en blanco.

Perl no "suele" tener en cuenta los espacios en blanco, pero esta es una de esas situaciones.
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


Volver a Básico

¿Quién está conectado?

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

cron