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

Wagner Elias wagner.elias at gmail.com
Fri Nov 20 08:26:55 EST 2009


Eu realmente tinha entendido outra coisa. Você tem razão Nash, este
ponto das Regex pode sim ser um bypass.

Lógico que a aplicação também colabora, retirando os acentos. Seria
muito mais prudente trabalhar com searchs como Lucene ou então usar
recursos de SOUNDEX.

Abs.

2009/11/20 Nash Leon <nashleon at yahoo.com.br>:
> Olá, Spooker!
>
> Voce pode criar uma regra específica para acentos.. mas o ponto
> em questão é que você não pode usar o conceito de 'listas' em
> expressão regular ou mesmo posix(quando o WAF usa pcre, por exemplo).
>
> E quando eu falo Bypass, é que por padrão costuma-se usar isso
> (por exemplo, lista [A-Za-z0-9]). Você usando outra coisa na regex
> pra detectar cai naquilo que eu falei de 'saber o que está fazendo'
> e não estará usando a lista pensando que nela está coberto todo
> o alfabeto brasileiro inclusive com acentos.
>
> Se voce analisar todas as regras padrões do modsecurity que eh um WAF
> público, verá que elas detectam muito bem SQL Injection, por exemplo,
> mas não estão preparadas para o cenário que eu citei, logo, no meu
> modo de ver, o conjunto de regras 'default' do modsecurity
> permitem um bypass(Posso estar sendo presuncoso, mas acho que isso se aplica a todos os outros WAFs estrangeiros que trabalham em modo negativo tambem).
>
>
> E como analista de teste de intrusão, eu "imagino" que esse tipo de bypass é muito útil, já como analista de segurança, eu acho que não devemos negligenciar esse problema.
>
> Então, o foco, o X do problema reportado não é todas as regex,
> mas a utilização de listas, posix e bibliotecas sem suporte
> ao nosso idioma. Que sao coisas 'transparentes' para os estrangeiros
> e quem nao manja de regex. Entao, o analista criar a lista [A-Z]
> e pensa que ali dentro estao todas as letras, inclusive as com
> acentos e ai ele comete um erro.
>
> Quanto a imagem que voce colou, não vi nela a possibilidade
> de colocar letras acentuadas(ÀÉÍÔÜ). Eu acho que esse WAF pode
> estar vulnerável, hein!:).. Note que se o desenvolver nao for
> flexivel ao ponto de disponibilizar a possibilidade de criar
> as regex na mao, fica dificil se proteger no cenario citado.
>
>
> Um cordial abraço,
>
> Nash Leon.
>
> --- Em qui, 19/11/09, Rodrigo Montoro(Sp0oKeR) <spooker at gmail.com> escreveu:
>
>> De: Rodrigo Montoro(Sp0oKeR) <spooker at gmail.com>
>> Assunto: Re: [Owasp-brazilian] Firewalls de Aplicação WEB, Idiomas e Expressões Regulares - Condições de Bypass
>> Para: "Nash Leon" <nashleon at yahoo.com.br>
>> Cc: owasp-brazilian at lists.owasp.org
>> Data: Quinta-feira, 19 de Novembro de 2009, 19:54
>> 2009/11/19 Nash Leon <nashleon at yahoo.com.br>:
>> > Como vai, Rodrigo?
>>
>> Eu to beleza, thread colocando a cuca pra pensar =)
>>
>> E ai ?
>>
>> >
>> > Sim, PCRE pega o assento, mas não na lista [A-Z] e
>> nem na posix
>> > [[:alpha:]]. Que é o que o artigo tenta mostrar.
>> >
>> > Mas se você fizer uma simples regex
>> "^S([A-Z]|É)LECT$" ela(pcre) já
>> > pegaria o SÉLECT, sem problemas.. isso pode ser
>> testado no PoC
>> > que segue o artigo.
>> >
>>
>> Se voce usar o \W+ ja cobre geral
>>
>>   re> /\W+/
>> data> Ẽ
>>  0: \xe1\xba\xbc
>> data> Ê
>>  0: \xc3\x8a
>> data> É
>>  0: \xc3\x89
>> data> é
>>  0: \xc3\xa9
>> data> È
>>  0: \xc3\x88
>> data> E
>> No match
>> data> e
>> No match
>> data>
>>
>>
>> > Mas o ponto chave é que o analista terá que criar as
>> expressões
>> > na mão para incluir É,Ë,Ê e etc.. para isso ele
>> precisa saber
>> > que a aplicação faz essa mudança de letras com
>> acentos
>> > para sem acentos.
>> >
>>
>> Acho que um bom regex mataria o problema . Bem sincero vou
>> usar uma
>> frase do Martin Roesch do Snort "Se o atacante sabe mais da
>> sua rede
>> que seu IDS ele vai bypassa-lo" ou seja, se a pessoa que
>> administra a
>> maquina não conhece suas aplicações, nao sabe como tudo
>> funciona ,
>> como vai colocar a maquina para trabalhar corretamente ?
>>
>>
>> > Chamo isso de "abordagem manual" no email que enviei.
>> > Agora, quantos analistas estrangeiros sabem desse
>> problema?
>> > Qual WAF estrangeiro vem por padrão com essas letras
>> acentuadas
>> > nas regras de regex?
>> >
>> > - Esse é o X da questão.E na prática, se voce for
>> ver nenhum
>> > WAF vem protegido contra isso... :)
>> >
>>
>> Mas ai que está a questão, bypass no meu ponto de vista
>> é algo que NÃO
>> tem como ser detectado e isso citado tem como ser detectado
>> , tanto
>> com um regex como ainda estou verificando com o profile da
>> imperva,
>> sei  que no profile da pra separar caracteres
>> especiais como essa
>> imagem que tenho aqui
>> http://img97.imageshack.us/img97/9922/impervaprofile.png
>> e habilitar
>> somente o que pode e dai usando conceito de whitelist
>>
>> No caso isso pra mim é desconhecimento da sua
>> rede/aplicação pois não
>> da pra usar tudo de fabrica =) .
>>
>> Como citei quando tiver uma caixa quero ver a
>> normalização do Imperva
>> na part do Charset que comentei nos primeiros emails mas
>> infelizmente
>> não to com caixas demos aqui .
>>
>> > Espero ter ficado claro agora.
>> >
>>
>> Bem sincero acho legal isso como um melhores praticas e pra
>> alertas
>> pessoal de websec na hora de configurar seu WAF mas como
>> citei pra mim
>> isso não é BYPASS e sim erro de configuração. Não sei
>> a opiniao do
>> restante da lista =)
>>
>> >
>> > Um abraço,
>> >
>>
>> Abs!!!
>>
>> Sp0oKeR
>> > Nash Leon.
>
>
>
>
>      ____________________________________________________________________________________
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
> _______________________________________________
> 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