[Owasp-brazilian] Você acha normal usar POST e GET como e fosse a mesma coisa?

Wagner Elias wagner.elias at gmail.com
Thu Aug 6 10:10:24 EDT 2009


André,

como eu já comentei, não é no servidor que será definido o uso do POST
e do GET. Esta decisão é do programador.

Ele terá além de definir no form (que pode ser alterado), garantir que
a função que recebe o parâmetro só aceite POST quando deve ser POST.

Para verificar se a aplicação trata isto corretamente (não é o
servidor), você pode fazer uma requisição alterando ela de POST para
GET. Como fazer isto? Existe várias maneiras, mas o plugin web
developer do firefox é bem simples.

Abs.

2009/8/6 Andre Rodrigues <acastanheira2001 at yahoo.com.br>:
>
> Prezados,
>
> 1- Como o administrador pode limitar os tipos de métodos utilizados no servidor? Minha configuração é apache - tomcat - jboss, que servidor trata os POSTS e GETS?
>
> 2- Como o setor de qualidade de sw podeverificar se os métodos estão sendo utilizados adequadamente?
>
> Obrigado,
> André
>
>
>
> ----- Original Message ----
> From: Wagner Elias <wagner.elias at gmail.com>
> To: Thiago Lechuga <thiagoalz at gmail.com>
> Cc: owasp-brazilian at lists.owasp.org
> Sent: Wednesday, August 5, 2009 7:37:17 PM
> Subject: Re: [Owasp-brazilian] Você acha normal usar POST e GET como e fosse a mesma coisa?
>
> Thiago,
>
> o framework é culpado no caso do struts, mas quantos programadores
> você conhece se preocupa em tratar adequadamente o POST e o GET?
>
> O programador tem que tratar, e se acha que o framework não trata,
> muda de framework ou aprende a tratar isto no framework. :)
>
> Abs.
>
> 2009/8/5 Thiago Lechuga <thiagoalz at gmail.com>:
>> Bom, se é mais fácil fazer errado do que certo, na minha opinião, a culpa
>> também é do FW. :P
>> []s,
>>
>> Thiago Alvarenga Lechuga
>> (19)8851-9530
>>
>> Página Pessoal:
>> http://thiagoalz.googlepages.com/home
>>
>> ===Knowledge is only useful if you can share it.===
>>
>>
>> 2009/8/5 Wagner Elias <wagner.elias at gmail.com>
>>>
>>> Oi Rodrigo,
>>>
>>> sim, não existe uma regra definitiva, o próprio documento do W3C fala
>>> isto.
>>>
>>> Não é responsabilidade do servidor tratar a questão de onde pode usar
>>> POST ou GET, isso é uma decisão de arquiteto e programador. O que o
>>> administrador do server pode e deve fazer é restringir o acesso a
>>> métodos que podem ser usados para ataques ou diagnósticos, PUT, HEAD,
>>> etc...
>>>
>>> O meu ponto é, devemos ensinar (aka pegar no pé) dos desenvolvedores
>>> para que eles tratem isto adequadamente.
>>>
>>> O pior sabe o que é, tentar fazer isso facilmente usando struts por
>>> exemplo. É possível, mas nada trivial, ai o programador prefere jogar
>>> a culpa no framework.
>>>
>>> Abs.
>>>
>>> 2009/8/5 Rodrigo Montoro(Sp0oKeR) <spooker at gmail.com>:
>>> > Essa é uma boa discussão.
>>> >
>>> > Até o bom e velho google ja foi alvo de ataques por suportar os dois,
>>> > não
>>> > sei se lembram
>>> >
>>> > http://community.nstalker.com/csrf-vulnerability-in-gmail-service-pt_br
>>> >
>>> > Parte do full disclosure
>>> >
>>> > "The attack is facilitated since the "Change Password" request can be
>>> > realized across the HTTP GET method instead of the POST method that is
>>> > realized habitually across the "Change Password" form. "
>>> >
>>> > No caso, acredito que os administradores do servidor tambem podem ajudar
>>> > a
>>> > mitigar isso limitando tipo de metodos nos servidores, ou pelo menos em
>>> > diretorios especificos.
>>> >
>>> > Mas onde usar, acredito que não exista uma regra e sim conhecer sua
>>> > aplicação e ditar onde podemos usar GET only, POST Only ou os dois  =) .
>>> >
>>> >
>>> > Abs!
>>> >
>>> > 2009/8/5 Lucas Ferreira <lucas.ferreira at gmail.com>
>>> >>
>>> >> http://java.sapao.net/Home/usar-corretamente-post-e-get
>>> >>
>>> >> 2009/8/5 Wagner Elias <wagner.elias at gmail.com>:
>>> >> > Pessoal,
>>> >> >
>>> >> > Por que muitos programadores acham que POST e GET é a mesma coisa?
>>> >> >
>>> >> > Se analisarmos os frameworks, struts por exemplo, ele aceita POST e
>>> >> > GET. Se você pegar um formulário que é POST e mandar a requisição em
>>> >> > GET, o struts aceita normalmente. Isto é comum em outros frameworks
>>> >> > também.
>>> >> >
>>> >> > Pode parecer apenas uma frescura usar POST e GET de forma adequada,
>>> >> > ou
>>> >> > apenas uma questão de arquitetura. Mas o próprio W3C[1]  sugere
>>> >> > quando
>>> >> > usar POST e GET:
>>> >> >
>>> >> > 1.3 Quick Checklist for Choosing HTTP GET or POST
>>> >> >
>>> >> >    * Use GET if:
>>> >> >          o The interaction is more like a question (i.e., it is a
>>> >> > safe operation such as a query, read operation, or lookup).
>>> >> >    * Use POST if:
>>> >> >          o The interaction is more like an order, or
>>> >> >          o The interaction changes the state of the resource in a way
>>> >> > that the user would perceive (e.g., a subscription to a service), or
>>> >> >          o The user be held accountable for the results of the
>>> >> > interaction.
>>> >> >
>>> >> >
>>> >> > Além disto, em algumas situações a possibilidade de fazer uma
>>> >> > requisição usando GET, quando era para ser usado POST, pode facilitar
>>> >> > ataques de XSS/XSRF baseados em phishing, engenharia social.
>>> >> >
>>> >> > O que vocês acham disto?
>>> >> >
>>> >> > [1] http://www.w3.org/2001/tag/doc/whenToUseGet.html
>>> >> >
>>> >> > Abs.
>>> >> > --
>>> >> > Wagner Elias - OWASP Leader Project Brazil
>>> >> > ------------------------------------------------------------------
>>> >> > Twitter: www.twitter.com/welias
>>> >> > Blog: http://wagnerelias.com
>>> >> > Profile: http://www.linkedin.com/in/wagnerelias
>>> >> > _______________________________________________
>>> >> > Owasp-brazilian mailing list
>>> >> > Owasp-brazilian at lists.owasp.org
>>> >> > https://lists.owasp.org/mailman/listinfo/owasp-brazilian
>>> >> >
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> If a tree falls in the forest and no one is around to see it, do the
>>> >> other trees make fun of it?
>>> >> _______________________________________________
>>> >> Owasp-brazilian mailing list
>>> >> Owasp-brazilian at lists.owasp.org
>>> >> https://lists.owasp.org/mailman/listinfo/owasp-brazilian
>>> >
>>> >
>>> >
>>> > --
>>> > Rodrigo Montoro (Sp0oKeR)
>>> > http://www.spooker.com.br
>>> > http://www.twitter.com/spookerlabs
>>> > http://www.linkedin.com/in/spooker
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> Wagner Elias - OWASP Leader Project Brazil
>>> ------------------------------------------------------------------
>>> Twitter: www.twitter.com/welias
>>> Blog: http://wagnerelias.com
>>> Profile: http://www.linkedin.com/in/wagnerelias
>>> _______________________________________________
>>> Owasp-brazilian mailing list
>>> Owasp-brazilian at lists.owasp.org
>>> https://lists.owasp.org/mailman/listinfo/owasp-brazilian
>>
>>
>> _______________________________________________
>> Owasp-brazilian mailing list
>> Owasp-brazilian at lists.owasp.org
>> https://lists.owasp.org/mailman/listinfo/owasp-brazilian
>>
>>
>
>
>
> --
> Wagner Elias - OWASP Leader Project Brazil
> ------------------------------------------------------------------
> Twitter: www.twitter.com/welias
> Blog: http://wagnerelias.com
> Profile: http://www.linkedin.com/in/wagnerelias
> _______________________________________________
> Owasp-brazilian mailing list
> Owasp-brazilian at lists.owasp.org
> https://lists.owasp.org/mailman/listinfo/owasp-brazilian
>
>
>
>
>



-- 
Wagner Elias - OWASP Leader Project Brazil
------------------------------------------------------------------
Twitter: www.twitter.com/welias
Blog: http://wagnerelias.com
Profile: http://www.linkedin.com/in/wagnerelias


More information about the Owasp-brazilian mailing list