[Owasp-brazilian] Firewalls de Aplicação WEB, Idiomas e Expressões Regulares - Condições de Bypass

Rodrigo Montoro(Sp0oKeR) spooker at gmail.com
Thu Nov 19 12:02:33 EST 2009


Yeap Cima, voce ta certo ... to lendo,trabalhando e enviado, preciso
colocar um break aqui =)

No caso Whitelist e profiling como falei no primeiro e-mail que
poderiam resolver

The type of parameter. For example, Numeric, Foreign Language
Characters (UTF-8), Parameter Type Latin Characters.

Logicamente o site teria que "proibir/avisar" os clientes que não
usassem esses caracteres nas pesquisas pois seriam bloqueados . Não
existe milagre =)


Abs

2009/11/19 Fernando Cima <fcima at microsoft.com>:
> Oi Rodrigo,
>
> Pela descrição da feature o WAF vai normalizar somente a URL no cabeçalho HTTP. No ataque do Nash Lion as expressões estão no corpo da requisição.
>
> Abraços,
>
> - Fernnado Cima
>
> -----Original Message-----
> From: owasp-brazilian-bounces at lists.owasp.org [mailto:owasp-brazilian-bounces at lists.owasp.org] On Behalf Of Rodrigo Montoro(Sp0oKeR)
> Sent: quinta-feira, 19 de novembro de 2009 20:47
> To: Wagner Elias
> Cc: owasp-brazilian at lists.owasp.org
> Subject: Re: [Owasp-brazilian] Firewalls de Aplicação WEB, Idiomas e Expressões Regulares - Condições de Bypass
>
> Eu fiquei curioso do Imperva, achei mais isso  que acredito que mataria o problema
>
> HTTP Protocol Validation
>
>    HTTP protocol validation prevents protocol exploits including buffer overflow, malicious encoding, HTTP
>    smuggling, and illegal server operations. Imperva provides you with a default policy that enables strict
>    adherence to RFC standards, while allowing minor variations for specific applications.
>    Before the validation, SecureSphere normalizes the URL to provide a common basis for validation. This
>    includes decoding, conversion to UTF8, conversion to lower case (if service is configured as case insensitive),
>    directory normalization and so on.
>
>    The HTTP protocol validation policy enables to protect your system against the evasion techniques, such as
>    encoding attempts. It is very important to stop the evasion technique on the service level. If the malicious
>    traffic is not blocked on the service level, then the application level SecureSphere policies are not able to
>    provide protection, as the protection is evaded.
>
>
> Logicamente tem que ver como esse WAF no qual ninguem sabe o nome estava configurado. Muitas vezes se pegar uma aplicação codada de forma fora de um padrão gera muito alerta e voce pode simplesmente cansado de tanto alerta da um disable =/ . Voces sabem que isso acontece com mta frequencia.
>
> Quanto a problemas de aplicação o pessoal aproveita muito o legado antigo e fica aquela colcha de retalhos.  Infelizmente WAF dentre outras dezenas de produtos de segurança não fazem milagres . =D!
>
> Abs!
>
>
> 2009/11/19 Wagner Elias <wagner.elias at gmail.com>:
>> Oi Nash,
>>
>> eu entendi o que você quis dizer, realmente no caso onde a aplicação
>> retira o acento haverá o bypass.
>>
>> Mas neste caso não é um problema do WAF estar tratando charset e/ou
>> canonicalization de forma adequada, pois o problema é app que está
>> causando quando retira o acento.
>>
>> O WAF não consegue resolver problemas de arquitetura, definições
>> absurdas como esta que são feitas no desenvolvimento, errado é quem
>> acha que tem uma app completamente torta e acha que o WAF vai
>> resolver.
>>
>> Abs.
>>
>> 2009/11/19 Nash Leon <nashleon at yahoo.com.br>:
>>> Como vai, Wagner?
>>>
>>> Vou me aprofundar um pouco em expressão regular pra tentar deixar
>>> mais claro.
>>>
>>> Quando a gente define uma lista [A-Z] numa expressão regular, essa
>>> lista vai cobrir aquilo que está no intervalo "ASCII" de A(0x41) a
>>> Z(0x5A).. logo, acentos não se encontram nesse intervalo, ok?
>>>
>>> Se vocês verem o tela que coloquei no .pdf de caso de uso, verá que
>>> estou num sistema com UTF-8 e charset definido para pt_BR, por isso
>>> que eu consigo enviar na shell letras com acentos(É). Mas a regex não
>>> conseguiu ser bem sucedida porque usou um intervalo.
>>>
>>> Como o Fernando Cima citou, se a normatização/canonização do WAF não
>>> levar em conta o idioma das aplicações que ele está protegendo, ele
>>> poderá conter expressões regulares como a lista[A-Z] mesmo rodando em
>>> UTF-8 passíveis de bypass quando um atacante enviar letras com
>>> acentos. Por que por padrão as bibliotecas de regex(como pcre, por
>>> exemplo, constroem a lista apenas usando o intervalo ASCII).
>>>
>>> De "http://gambasdoc.org/help/doc/pcre":
>>>
>>> "In PCRE, \d, \D, \s, \S, \w, and \W recognize only ASCII characters."
>>>
>>>
>>> Espero ter deixado mais claro o problema.
>>>
>>> Podemos dizer que a aplicação não deveria mudar as letras com acento
>>> para sem acento, mas vai dizer isso pra uma loja gigante como as que
>>> citei no exemplo?
>>>
>>> Então, é imperativo checar se o WAF está mesmo protegendo a aplicação
>>> por validar as regras incluindo letras acentuadas em suas regex.
>>>
>>> O conceito de posix é interessante pois se a expressão regular tiver
>>> algo como [[:alpha:]], ela vai procurar por todo alfabeto do idioma
>>> da máquina, no nosso caso, procurará por Á(ND), É(XECUTE), Í(NNER),
>>> Ô(R), Ü(NION)... :)
>>>
>>>
>>> Um cordial abraço a todos,
>>>
>>> Nash Leon.
>>>
>>> --- Em qui, 19/11/09, Wagner Elias <wagner.elias at gmail.com> escreveu:
>>>
>>>> De: Wagner Elias <wagner.elias at gmail.com>
>>>> Assunto: Re: [Owasp-brazilian] Firewalls de Aplicação WEB, Idiomas e
>>>> Expressões Regulares - Condições de Bypass
>>>> Para: "Rodrigo Montoro(Sp0oKeR)" <spooker at gmail.com>
>>>> Cc: "Nash Leon" <nashleon at yahoo.com.br>,
>>>> owasp-brazilian at lists.owasp.org
>>>> Data: Quinta-feira, 19 de Novembro de 2009, 14:07 Nash,
>>>>
>>>> como não é um problema de charset?
>>>>
>>>> Ou o WAF não valida acentos ou a aplicação. No caso do exemplo que
>>>> você disse que a app tira o acento (problema de charset) o problema
>>>> é da app e não do WAF.
>>>>
>>>> Abs.
>>>>
>>>
>>>
>>>
>>>
>>> _____________________________________________________________________
>>> _______________ Veja quais são os assuntos do momento no Yahoo!
>>> +Buscados http://br.maisbuscados.yahoo.com
>>>
>>
>>
>>
>> --
>> 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
>>
>
>
>
> --
> Rodrigo Montoro (Sp0oKeR)
> http://www.spooker.com.br
> http://www.twitter.com/spookerlabs
> http://www.linkedin.com/in/spooker
> _______________________________________________
> 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


More information about the Owasp-brazilian mailing list