Re: [Rio-pm] Padrões de Código seguro

2013-01-11 Por tôpico thiagoglauco
O %n coloca o comprimento da string de printf ou sprintf na variável e 
serve para você controlar o tamanho de um string que foi criado de forma 
dinâmica, por exemplo.


No exemplo, um atacante adiciona a string %n em uma variável de 
ambiente.


Caso seu programa utilize printf ou sprintf e a string da variável de 
ambiente maliciosa, alguma variável interna de seu programa pode ser 
modificada e alterar o resto do processamento.


Em 2013-01-11 11:00, Tiago Peczenyj escreveu:
A explicação eu li, o que eu não entendi é qual o uso do %n na vida 
real.


2013/1/11 


a linha printf "$prompt: Password ok? %dn", $is_ok;
 
é que seta $is_ok = 4 (no exemplo do site) pq $prompt contem ‘%n’ 
dentro dele e %n, no printf, faz com q a prox $var, no caso, $id_ok 
receba 4 que o tamanho do string.

 
veja explicacao na propria pagina:
 
... the %n instructed Perl to fill the first format string argument 
with the number of characters printed, which caused Perl to set 
the $is_ok variable to 4.

 
 
veja on-liner abaixo:
 
perl -e "my $prompt='1234567%n'; my $password=''; my $is_ok = 
($password eq 'goodpass'); printf "$prompt: Password ok? %dn", $is_ok; 
print $is_ok;"

1234567: Password ok? 0
7
 
 

 
 
ULISSES GOMES
Tecnologia da Informação

IBIZ Tecnologia
+55 11 5579-3178 [6] r. 226
ulis...@ibiz.com.br
www.ibiz.com.br [7]

Esta mensagem de correio eletrônico e seus documentos anexos estão 
dirigidos EXCLUSIVAMENTE aos destinatários especificados. A informação 
contida pode ser CONFIDENCIAL e/ou estar LEGALMENTE PROTEGIDA e não 
necessariamente reflete a opinião da IBIZ. Se você receber esta 
mensagem por ENGANO, por favor, comunique imediatamente ao remetente e 
ELIMINE-A já que você NÃO ESTÁ AUTORIZADO ao uso, revelação, 
distribuição, impressão ou cópia de toda ou alguma parte da informação 
contida. Obrigado.


 

FROM: Solli Honorio
SENT: Friday, January 11, 2013 10:26 AM
TO: Perl Mongers Rio de Janeiro

SUBJECT: Re: [Rio-pm] Padrões de Código seguro
 

perldoc -f sprintf 
 

%n    special: *stores* the number of characters output so far into 
the next variable in the parameter list

 
Agora, o que isto significa, não tenho idéia :D !!!

Em 11 de janeiro de 2013 10:22, Tiago Peczenyj 
 escreveu:



Divertido
 
alguem pode  me explicar o %n ?
 

https://www.securecoding.cert.org/confluence/display/perl/IDS30-PL.+Exclude+user+input+from+format+strings 
[4]


2013/1/11 

Caros monges, a Cert (www.cert.org [1]) desenvolve padrões e 
recomendações de segurança para a área de TI.
Achei bem interessante, pois eles têm recomendações para C, C++, 
Java e Perl.


www.securecoding.cert.org [2]

Os padrões para Perl e C++ ainda estão em desenvolvimento. Eles 
aceitam pitacos.


regards.
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm [3]


 --
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj [5]
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm [3]


 --
"o animal satisfeito dorme". - Guimarães Rosa

-

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm [3]

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm [3]


--
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj [5]

Links:
--
[1] http://www.cert.org
[2] http://www.securecoding.cert.org
[3] http://mail.pm.org/mailman/listinfo/rio-pm
[4]

https://www.securecoding.cert.org/confluence/display/perl/IDS30-PL.+Exclude+user+input+from+format+strings
[5] http://about.me/peczenyj
[6] tel:%2B55%2011%205579-3178
[7] http://www.ibiz.com.br

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] BrainFuck Interprer

2013-01-11 Por tôpico Tiago Peczenyj
o que seria $s que vc usa em [ e ] ?

eu vou dizer como implementei: eu tenho uma variavel chamada $pc
(program counter) e eu faço um loop enquanto $pc é menor que o fim. O
fim é o tamanho do array de instruções.

$pc começa em 0 e vai incrementando valor a cada passada, entretanto [
e ] alteram este valor pois

se a stack for 1 vc deve fazer um push no array que "lembra" onde está
o respectivo [ na hora de voltar e, se a stack for 0, vc deve avançar
até o proximo ]

exemplo

[+]+ outras + coisas +

vc não pode ficar preso nesse loop logo no começo.

o lance é que vc incrementa pc em 1 em quase todos os passos, porem
quando chega no ] vc precisa voltar. vc esta simplesmente iterando
sobre o codigo sem ter como voltar.

2013/1/11 Aureliano Guedes :
> Ok, agora um mudei outras coisas tambem, a principio tah td ok.
> http://pastebin.com/w78GfPEv
>
> Agora testei com um Hello World :
>
> ++[>+++>++>+++>+-]>++.>+.+++..+++.>++.<<+++.>.+++.--..>+.>.
>
> Mas ficou meio locão.
>
>
> 
> Date: Fri, 11 Jan 2013 11:47:26 -0200
>
> From: viniciusmias...@gmail.com
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] BrainFuck Interprer
>
> Aureliano,
>
> seu código está bem confuso mesmo.
>
> você está realizando o foreach
>
> foreach my $i (split (//, $data))
>
> e logo após o inicio do foreach você faz
>
> $i = substr($data,$s,2);
>
> você sabe explicar pq ?
>
> Outra dica: declare sua "sub getchar" no final do arquivo para deixar o
> código mais legível.
>
> Dica adiantada:
>
> antes de você trocar a sub e falar que o script parou de funcionar, na linha
> em que você realiza a chamada da sub getchar, coloque os () na função.
> ex.: getchar();
>
> talvez isso ajude você a consertar o script,
>
> abs.
>
> Em 11 de janeiro de 2013 11:33, Vinícius Miasato 
> escreveu:
>>
>> bom, ... com o given o seu script executa, mas não termina.
>>
>> sem o given ele não executa ...
>>
>> escolha a melhor opção e continua desenvolvendo =)
>>
>> abs.
>>
>> Em 11 de janeiro de 2013 11:27, Aureliano Guedes 
>> escreveu:
>>
>>> Mudanças feitas.
>>>
>>> Mas vejam. Eu tinha tirado o given, mas coloquei de volta.
>>>
>>> O problema é, com o given, o STDIN não termina, eu digito alguma coisa e
>>> aperto enter naturalmente algo deveria acontecer, mas a unica coisa que
>>> acontece é uma quebra de linha.
>>>
>>> 
>>> Date: Fri, 11 Jan 2013 11:16:26 -0200
>>> From: viniciusmias...@gmail.com
>>> To: rio-pm@pm.org
>>> Subject: Re: [Rio-pm] BrainFuck Interprer
>>>
>>>
>>> não deveria ter um "given" em algum lugar do código para você utilizar o
>>> "when" ?
>>>
>>> abs.
>>>
>>> Em 11 de janeiro de 2013 10:43, Aureliano Guedes
>>>  escreveu:
>>>
>>> Ola mongens,
>>>
>>> Como alguns sabem eu estava tentando fazer um interpretador para
>>> brainfuck em Perl.
>>>
>>> Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS
>>>
>>> Um "script brainfuck" para testarem, ele converte letras munusculas para
>>> maiusculas: http://pastebin.com/kzMMpUsA
>>>
>>> Deve ser executado assim: perl mybf.pl bf.b
>>>
>>> Mas estou com problemas. Toda vez que executo me retorna :  Can't use
>>> when() outside a topicalizer at mybf.pl line 36, <> line 1.
>>>
>>> Alguem sabe o que esta acontecendo, e pode me ajudar.
>>>
>>> Desde já, grato.
>>>
>>> Att
>>>
>>> ___
>>> Rio-pm mailing list
>>> Rio-pm@pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>>
>>>
>>> ___ Rio-pm mailing list
>>> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>> ___
>>> Rio-pm mailing list
>>> Rio-pm@pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm



-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] BrainFuck Interprer

2013-01-11 Por tôpico Aureliano Guedes

Ok, agora um mudei outras coisas tambem, a principio tah td ok.
http://pastebin.com/w78GfPEv

Agora testei com um Hello World : 
++[>+++>++>+++>+-]>++.>+.+++..+++.>++.<<+++.>.+++.--..>+.>.

Mas ficou meio locão.

Date: Fri, 11 Jan 2013 11:47:26 -0200
From: viniciusmias...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] BrainFuck Interprer

Aureliano,

seu código está bem confuso mesmo.

você está realizando o foreach

foreach my $i (split (//, $data))

e logo após o inicio do foreach você faz


$i = substr($data,$s,2); 

você sabe explicar pq ?

Outra dica: declare sua "sub getchar" no final do arquivo para deixar o código 
mais legível.


Dica adiantada:

antes de você trocar a sub e falar que o script parou de funcionar, na linha em 
que você realiza a chamada da sub getchar, coloque os () na função.
ex.: getchar();


talvez isso ajude você a consertar o script,

abs.

Em 11 de janeiro de 2013 11:33, Vinícius Miasato  
escreveu:

bom, ... com o given o seu script executa, mas não termina.

sem o given ele não executa ...

escolha a melhor opção e continua desenvolvendo =)


abs.

Em 11 de janeiro de 2013 11:27, Aureliano Guedes  
escreveu:






Mudanças feitas.

Mas vejam. Eu tinha tirado o given, mas coloquei de volta.

O problema é, com o given, o STDIN não termina, eu digito alguma coisa e aperto 
enter naturalmente algo deveria acontecer, mas a unica coisa que acontece é uma 
quebra de linha.



Date: Fri, 11 Jan 2013 11:16:26 -0200
From: viniciusmias...@gmail.com
To: rio-pm@pm.org


Subject: Re: [Rio-pm] BrainFuck Interprer

não deveria ter um "given" em algum lugar do código para você utilizar o "when" 
?

abs.

Em 11 de janeiro de 2013 10:43, Aureliano Guedes  
escreveu:







Ola mongens,

Como alguns sabem eu estava tentando fazer um interpretador para brainfuck em 
Perl.

Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS




Um "script brainfuck" para testarem, ele converte letras munusculas para 
maiusculas: http://pastebin.com/kzMMpUsA

Deve ser executado assim: perl mybf.pl bf.b




Mas estou com problemas. Toda vez que executo me retorna :  Can't use when() 
outside a topicalizer at mybf.pl line 36, <> line 1.

Alguem sabe o que esta acontecendo, e pode me ajudar.




Desde já, grato.

Att
  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm





___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] BrainFuck Interprer

2013-01-11 Por tôpico Vinícius Miasato
Aureliano,

seu código está bem confuso mesmo.

você está realizando o foreach

foreach my $i (split (//, $data))

e logo após o inicio do foreach você faz

$i = substr($data,$s,2);

você sabe explicar pq ?

Outra dica: declare sua "sub getchar" no final do arquivo para deixar o
código mais legível.

Dica adiantada:

antes de você trocar a sub e falar que o script parou de funcionar, na
linha em que você realiza a chamada da sub getchar, coloque os () na função.
ex.: getchar();

talvez isso ajude você a consertar o script,

abs.

Em 11 de janeiro de 2013 11:33, Vinícius Miasato
escreveu:

> bom, ... com o given o seu script executa, mas não termina.
>
> sem o given ele não executa ...
>
> escolha a melhor opção e continua desenvolvendo =)
>
> abs.
>
> Em 11 de janeiro de 2013 11:27, Aureliano Guedes 
> escreveu:
>
>  Mudanças feitas.
>>
>> Mas vejam. Eu tinha tirado o given, mas coloquei de volta.
>>
>> O problema é, com o given, o STDIN não termina, eu digito alguma coisa e
>> aperto enter naturalmente algo deveria acontecer, mas a unica coisa que
>> acontece é uma quebra de linha.
>>
>> --
>> Date: Fri, 11 Jan 2013 11:16:26 -0200
>> From: viniciusmias...@gmail.com
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] BrainFuck Interprer
>>
>>
>> não deveria ter um "given" em algum lugar do código para você utilizar o
>> "when" ?
>>
>> abs.
>>
>> Em 11 de janeiro de 2013 10:43, Aureliano Guedes > > escreveu:
>>
>>  Ola mongens,
>>
>> Como alguns sabem eu estava tentando fazer um interpretador para
>> brainfuck em Perl.
>>
>> Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS
>>
>> Um "script brainfuck" para testarem, ele converte letras munusculas para
>> maiusculas: http://pastebin.com/kzMMpUsA
>>
>> Deve ser executado assim: perl mybf.pl bf.b
>>
>> Mas estou com problemas. Toda vez que executo me retorna :  Can't use
>> when() outside a topicalizer at mybf.pl line 36, <> line 1.
>>
>> Alguem sabe o que esta acontecendo, e pode me ajudar.
>>
>> Desde já, grato.
>>
>> Att
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>>
>>
>> ___ Rio-pm mailing list
>> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] BrainFuck Interprer

2013-01-11 Por tôpico Aureliano Guedes

Mas geralmente a indicação pra parar é um enter.

my $a = <>;
print $a;

So de dar enter o script continua.

Como deveria ser esta indicação no caso então??

Date: Fri, 11 Jan 2013 11:33:05 -0200
From: viniciusmias...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] BrainFuck Interprer

bom, ... com o given o seu script executa, mas não termina.

sem o given ele não executa ...

escolha a melhor opção e continua desenvolvendo =)

abs.

Em 11 de janeiro de 2013 11:27, Aureliano Guedes  
escreveu:





Mudanças feitas.

Mas vejam. Eu tinha tirado o given, mas coloquei de volta.

O problema é, com o given, o STDIN não termina, eu digito alguma coisa e aperto 
enter naturalmente algo deveria acontecer, mas a unica coisa que acontece é uma 
quebra de linha.


Date: Fri, 11 Jan 2013 11:16:26 -0200
From: viniciusmias...@gmail.com
To: rio-pm@pm.org

Subject: Re: [Rio-pm] BrainFuck Interprer

não deveria ter um "given" em algum lugar do código para você utilizar o "when" 
?

abs.

Em 11 de janeiro de 2013 10:43, Aureliano Guedes  
escreveu:






Ola mongens,

Como alguns sabem eu estava tentando fazer um interpretador para brainfuck em 
Perl.

Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS



Um "script brainfuck" para testarem, ele converte letras munusculas para 
maiusculas: http://pastebin.com/kzMMpUsA

Deve ser executado assim: perl mybf.pl bf.b



Mas estou com problemas. Toda vez que executo me retorna :  Can't use when() 
outside a topicalizer at mybf.pl line 36, <> line 1.

Alguem sabe o que esta acontecendo, e pode me ajudar.



Desde já, grato.

Att
  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] BrainFuck Interprer

2013-01-11 Por tôpico Vinícius Miasato
bom, ... com o given o seu script executa, mas não termina.

sem o given ele não executa ...

escolha a melhor opção e continua desenvolvendo =)

abs.

Em 11 de janeiro de 2013 11:27, Aureliano Guedes
escreveu:

>  Mudanças feitas.
>
> Mas vejam. Eu tinha tirado o given, mas coloquei de volta.
>
> O problema é, com o given, o STDIN não termina, eu digito alguma coisa e
> aperto enter naturalmente algo deveria acontecer, mas a unica coisa que
> acontece é uma quebra de linha.
>
> --
> Date: Fri, 11 Jan 2013 11:16:26 -0200
> From: viniciusmias...@gmail.com
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] BrainFuck Interprer
>
>
> não deveria ter um "given" em algum lugar do código para você utilizar o
> "when" ?
>
> abs.
>
> Em 11 de janeiro de 2013 10:43, Aureliano Guedes 
> escreveu:
>
>  Ola mongens,
>
> Como alguns sabem eu estava tentando fazer um interpretador para brainfuck
> em Perl.
>
> Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS
>
> Um "script brainfuck" para testarem, ele converte letras munusculas para
> maiusculas: http://pastebin.com/kzMMpUsA
>
> Deve ser executado assim: perl mybf.pl bf.b
>
> Mas estou com problemas. Toda vez que executo me retorna :  Can't use
> when() outside a topicalizer at mybf.pl line 36, <> line 1.
>
> Alguem sabe o que esta acontecendo, e pode me ajudar.
>
> Desde já, grato.
>
> Att
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] BrainFuck Interprer

2013-01-11 Por tôpico Vinícius Miasato
para você entender o que quero dizer, segue o paste  com o patch sugerido
...

http://pastebin.com/eGARKVVa

abs.

Em 11 de janeiro de 2013 11:16, Vinícius Miasato
escreveu:

> não deveria ter um "given" em algum lugar do código para você utilizar o
> "when" ?
>
> abs.
>
> Em 11 de janeiro de 2013 10:43, Aureliano Guedes 
> escreveu:
>
>>  Ola mongens,
>>
>> Como alguns sabem eu estava tentando fazer um interpretador para
>> brainfuck em Perl.
>>
>> Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS
>>
>> Um "script brainfuck" para testarem, ele converte letras munusculas para
>> maiusculas: http://pastebin.com/kzMMpUsA
>>
>> Deve ser executado assim: perl mybf.pl bf.b
>>
>> Mas estou com problemas. Toda vez que executo me retorna :  Can't use
>> when() outside a topicalizer at mybf.pl line 36, <> line 1.
>>
>> Alguem sabe o que esta acontecendo, e pode me ajudar.
>>
>> Desde já, grato.
>>
>> Att
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] BrainFuck Interprer

2013-01-11 Por tôpico Tiago Peczenyj
tenha foco ao ler da STDIN, use um script menor em separado ate
entender o que acontece.

mas lembre-se: se vc esta lendo e apertou enter, por que razão o
programa deveria continuar? vc esta lendo da stdin! vc precisa de
alguma indicação para parar.

2013/1/11 Aureliano Guedes :
> Mudanças feitas.
>
> Mas vejam. Eu tinha tirado o given, mas coloquei de volta.
>
> O problema é, com o given, o STDIN não termina, eu digito alguma coisa e
> aperto enter naturalmente algo deveria acontecer, mas a unica coisa que
> acontece é uma quebra de linha.
>
> 
> Date: Fri, 11 Jan 2013 11:16:26 -0200
> From: viniciusmias...@gmail.com
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] BrainFuck Interprer
>
>
> não deveria ter um "given" em algum lugar do código para você utilizar o
> "when" ?
>
> abs.
>
> Em 11 de janeiro de 2013 10:43, Aureliano Guedes 
> escreveu:
>
> Ola mongens,
>
> Como alguns sabem eu estava tentando fazer um interpretador para brainfuck
> em Perl.
>
> Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS
>
> Um "script brainfuck" para testarem, ele converte letras munusculas para
> maiusculas: http://pastebin.com/kzMMpUsA
>
> Deve ser executado assim: perl mybf.pl bf.b
>
> Mas estou com problemas. Toda vez que executo me retorna :  Can't use when()
> outside a topicalizer at mybf.pl line 36, <> line 1.
>
> Alguem sabe o que esta acontecendo, e pode me ajudar.
>
> Desde já, grato.
>
> Att
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm



-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] BrainFuck Interprer

2013-01-11 Por tôpico Aureliano Guedes

Mudanças feitas.

Mas vejam. Eu tinha tirado o given, mas coloquei de volta.

O problema é, com o given, o STDIN não termina, eu digito alguma coisa e aperto 
enter naturalmente algo deveria acontecer, mas a unica coisa que acontece é uma 
quebra de linha.

Date: Fri, 11 Jan 2013 11:16:26 -0200
From: viniciusmias...@gmail.com
To: rio-pm@pm.org
Subject: Re: [Rio-pm] BrainFuck Interprer

não deveria ter um "given" em algum lugar do código para você utilizar o "when" 
?

abs.

Em 11 de janeiro de 2013 10:43, Aureliano Guedes  
escreveu:





Ola mongens,

Como alguns sabem eu estava tentando fazer um interpretador para brainfuck em 
Perl.

Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS


Um "script brainfuck" para testarem, ele converte letras munusculas para 
maiusculas: http://pastebin.com/kzMMpUsA

Deve ser executado assim: perl mybf.pl bf.b


Mas estou com problemas. Toda vez que executo me retorna :  Can't use when() 
outside a topicalizer at mybf.pl line 36, <> line 1.

Alguem sabe o que esta acontecendo, e pode me ajudar.


Desde já, grato.

Att
  

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] BrainFuck Interprer

2013-01-11 Por tôpico Vinícius Miasato
não deveria ter um "given" em algum lugar do código para você utilizar o
"when" ?

abs.

Em 11 de janeiro de 2013 10:43, Aureliano Guedes
escreveu:

>  Ola mongens,
>
> Como alguns sabem eu estava tentando fazer um interpretador para brainfuck
> em Perl.
>
> Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS
>
> Um "script brainfuck" para testarem, ele converte letras munusculas para
> maiusculas: http://pastebin.com/kzMMpUsA
>
> Deve ser executado assim: perl mybf.pl bf.b
>
> Mas estou com problemas. Toda vez que executo me retorna :  Can't use
> when() outside a topicalizer at mybf.pl line 36, <> line 1.
>
> Alguem sabe o que esta acontecendo, e pode me ajudar.
>
> Desde já, grato.
>
> Att
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] BrainFuck Interprer

2013-01-11 Por tôpico Tiago Peczenyj
Ola

estou com preguiça de analisar o seu codigo todo mas tenho algumas
observaçoes

1) o seu metodo de leitura esta errado. Vc esta ignorando o resto da linha,
os outros caracteres.

eu faria assim:

sub getchar{
sysread STDIN, my $buf, 1;
return (ord($buf));
}

2) ao inves de fazer

foreach ...
   when (condicao que parece um if)

faça

foreach ... {
   my $i = ...
   given($i){

 when('+'){ }

  }
}

2013/1/11 Aureliano Guedes 

>  Ola mongens,
>
> Como alguns sabem eu estava tentando fazer um interpretador para brainfuck
> em Perl.
>
> Portanto segue o que consegui ate agora: http://pastebin.com/gJKizdYS
>
> Um "script brainfuck" para testarem, ele converte letras munusculas para
> maiusculas: http://pastebin.com/kzMMpUsA
>
> Deve ser executado assim: perl mybf.pl bf.b
>
> Mas estou com problemas. Toda vez que executo me retorna :  Can't use
> when() outside a topicalizer at mybf.pl line 36, <> line 1.
>
> Alguem sabe o que esta acontecendo, e pode me ajudar.
>
> Desde já, grato.
>
> Att
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Padrões de Código seguro

2013-01-11 Por tôpico ulisses
a linha printf "$prompt: Password ok? %d\n", $is_ok;

é que seta $is_ok = 4 (no exemplo do site) pq $prompt contem ‘%n’ dentro dele e 
%n, no printf, faz com q a prox $var, no caso, $id_ok receba 4 que o tamanho do 
string.

veja explicacao na propria pagina:

... the %n instructed Perl to fill the first format string argument with the 
number of characters printed, which caused Perl to set the $is_ok variable to 
4.


veja on-liner abaixo:

perl -e "my $prompt='1234567%n'; my $password=''; my $is_ok = ($password eq 
'goodpass'); printf \"$prompt: Password ok? %d\n\", $is_ok; print $is_ok;"
1234567: Password ok? 0
7


Ulisses Gomes
  Tecnologia da Informação

  IBIZ Tecnologia
  +55 11 5579-3178 r. 226
  ulis...@ibiz.com.br
  www.ibiz.com.br  

 



Esta mensagem de correio eletrônico e seus documentos anexos estão dirigidos 
EXCLUSIVAMENTE aos destinatários especificados. A informação contida pode ser 
CONFIDENCIAL e/ou estar LEGALMENTE PROTEGIDA e não necessariamente reflete a 
opinião da IBIZ. Se você receber esta mensagem por ENGANO, por favor, comunique 
imediatamente ao remetente e ELIMINE-A já que você NÃO ESTÁ AUTORIZADO ao uso, 
revelação, distribuição, impressão ou cópia de toda ou alguma parte da 
informação contida. Obrigado. 


From: Solli Honorio 
Sent: Friday, January 11, 2013 10:26 AM
To: Perl Mongers Rio de Janeiro 
Subject: Re: [Rio-pm] Padrões de Código seguro

perldoc -f sprintf  

%nspecial: *stores* the number of characters output so far into the next 
variable in the parameter list

Agora, o que isto significa, não tenho idéia :D !!!



Em 11 de janeiro de 2013 10:22, Tiago Peczenyj  
escreveu:

  Divertido 

  alguem pode  me explicar o %n ?

  
https://www.securecoding.cert.org/confluence/display/perl/IDS30-PL.+Exclude+user+input+from+format+strings


  2013/1/11  


Caros monges, a Cert (www.cert.org) desenvolve padrões e recomendações de 
segurança para a área de TI.
Achei bem interessante, pois eles têm recomendações para C, C++, Java e 
Perl.

www.securecoding.cert.org

Os padrões para Perl e C++ ainda estão em desenvolvimento. Eles aceitam 
pitacos.

regards.
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm





  -- 
  Tiago B. Peczenyj
  Linux User #405772

  http://about.me/peczenyj 

  ___
  Rio-pm mailing list
  Rio-pm@pm.org
  http://mail.pm.org/mailman/listinfo/rio-pm





-- 
"o animal satisfeito dorme". - Guimarães Rosa 



___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Padrões de Código seguro

2013-01-11 Por tôpico Solli Honorio
perl -E '$t="valor";$s=sprintf "Teste [%s]%n",$t,$y; say $s;say $y; say
length $s'
>Teste [valor]
>13
>13



Em 11 de janeiro de 2013 10:32, Aureliano Guedes
escreveu:

>  Bom material, depois com calma estudarei.
>
> --
> From: shono...@gmail.com
> Date: Fri, 11 Jan 2013 10:26:46 -0200
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] Padrões de Código seguro
>
> perldoc -f sprintf
>
> %nspecial: *stores* the number of characters output so far into the
> next variable in the parameter list
>
> Agora, o que isto significa, não tenho idéia :D !!!
>
>
> Em 11 de janeiro de 2013 10:22, Tiago Peczenyj 
> escreveu:
>
> Divertido
>
> alguem pode  me explicar o %n ?
>
>
> https://www.securecoding.cert.org/confluence/display/perl/IDS30-PL.+Exclude+user+input+from+format+strings
>
> 2013/1/11 
>
> Caros monges, a Cert (www.cert.org) desenvolve padrões e recomendações de
> segurança para a área de TI.
> Achei bem interessante, pois eles têm recomendações para C, C++, Java e
> Perl.
>
> www.securecoding.cert.org
>
> Os padrões para Perl e C++ ainda estão em desenvolvimento. Eles aceitam
> pitacos.
>
> regards.
> __**_
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/**listinfo/rio-pm
>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
>
> --
> "o animal satisfeito dorme". - Guimarães Rosa
>
> ___ Rio-pm mailing list
> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
"o animal satisfeito dorme". - Guimarães Rosa
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Padrões de Código seguro

2013-01-11 Por tôpico Aureliano Guedes

Bom material, depois com calma estudarei.

From: shono...@gmail.com
Date: Fri, 11 Jan 2013 10:26:46 -0200
To: rio-pm@pm.org
Subject: Re: [Rio-pm] Padrões de Código seguro

perldoc -f sprintf 
%nspecial: *stores* the number of characters output so far into the next 
variable in the parameter list
Agora, o que isto significa, não tenho idéia :D !!!



Em 11 de janeiro de 2013 10:22, Tiago Peczenyj  
escreveu:


Divertido
alguem pode  me explicar o %n ?
https://www.securecoding.cert.org/confluence/display/perl/IDS30-PL.+Exclude+user+input+from+format+strings





2013/1/11  




Caros monges, a Cert (www.cert.org) desenvolve padrões e recomendações de 
segurança para a área de TI.

Achei bem interessante, pois eles têm recomendações para C, C++, Java e Perl.



www.securecoding.cert.org



Os padrões para Perl e C++ ainda estão em desenvolvimento. Eles aceitam pitacos.



regards.

___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm



-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj


___

Rio-pm mailing list

Rio-pm@pm.org

http://mail.pm.org/mailman/listinfo/rio-pm


-- 
"o animal satisfeito dorme". - Guimarães Rosa


___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm  
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Padrões de Código seguro

2013-01-11 Por tôpico Solli Honorio
perldoc -f sprintf

%nspecial: *stores* the number of characters output so far into the
next variable in the parameter list

Agora, o que isto significa, não tenho idéia :D !!!


Em 11 de janeiro de 2013 10:22, Tiago Peczenyj
escreveu:

> Divertido
>
> alguem pode  me explicar o %n ?
>
>
> https://www.securecoding.cert.org/confluence/display/perl/IDS30-PL.+Exclude+user+input+from+format+strings
>
> 2013/1/11 
>
> Caros monges, a Cert (www.cert.org) desenvolve padrões e recomendações de
>> segurança para a área de TI.
>> Achei bem interessante, pois eles têm recomendações para C, C++, Java e
>> Perl.
>>
>> www.securecoding.cert.org
>>
>> Os padrões para Perl e C++ ainda estão em desenvolvimento. Eles aceitam
>> pitacos.
>>
>> regards.
>> __**_
>> Rio-pm mailing list
>> Rio-pm@pm.org
>> http://mail.pm.org/mailman/**listinfo/rio-pm
>>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj
>
> ___
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
"o animal satisfeito dorme". - Guimarães Rosa
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] Padrões de Código seguro

2013-01-11 Por tôpico Tiago Peczenyj
Divertido

alguem pode  me explicar o %n ?

https://www.securecoding.cert.org/confluence/display/perl/IDS30-PL.+Exclude+user+input+from+format+strings

2013/1/11 

> Caros monges, a Cert (www.cert.org) desenvolve padrões e recomendações de
> segurança para a área de TI.
> Achei bem interessante, pois eles têm recomendações para C, C++, Java e
> Perl.
>
> www.securecoding.cert.org
>
> Os padrões para Perl e C++ ainda estão em desenvolvimento. Eles aceitam
> pitacos.
>
> regards.
> __**_
> Rio-pm mailing list
> Rio-pm@pm.org
> http://mail.pm.org/mailman/**listinfo/rio-pm
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

[Rio-pm] Padrões de Código seguro

2013-01-11 Por tôpico thiagoglauco
Caros monges, a Cert (www.cert.org) desenvolve padrões e recomendações 
de segurança para a área de TI.
Achei bem interessante, pois eles têm recomendações para C, C++, Java e 
Perl.


www.securecoding.cert.org

Os padrões para Perl e C++ ainda estão em desenvolvimento. Eles aceitam 
pitacos.


regards.
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm