Em memória de Giordani Rodrigues
Total Security - infoguerra.com.br
Gerais
Sexta - 22 de Dezembro de 2006 às 14:07
Por: Luiz Celso

    Imprimir


Winamp Web Interface é um plugin de código aberto para Winamp que possibilita a administração remota do tocador a partir de qualquer navegador.Foram achadas no Wawi(Winamp Web Interface) múltiplas vulnerabilidades que permitem ao atacante fazer overflows internos no produto, causando assim, a leitura de arquivos arbitrários.

Buffer no FindBasicAuth():
FindBasicAuth() função localizada no arquivo security.cpp no qual faz a autorização HTTP da requisição do cliente. Basicamente essa função substiui, sequencialmente, o módulo de autorização e configurações base64 contendo o usuário e a senha com um buffer de somente 100 bytes e então decoda essa string usando o buffer do "userpass" de 100 bytes. Tal operação é feita através da função GetAString() que limita as strings a 255 caracteres.

Modo de explorar:
http://localhost/browse, depois inserir um usuário com mais de 100 caracteres.

Listando Diretório:
A função Browse() localizada no arquivo browse.cpp é usada para mostrar os arquivos disponíveis numa pasta específica no diretório raiz. Esta função checa o caminho recebido pelo cliente usando a função GoodPatch() que verifica a existência de risco causado por pontos sequenciados e por barras invertidas (exemplo ..).

O problema é que essas barras são corretamente convertidas em barras invertidas antes do chamado dessa função. Mas o código hexademal das barras %2f não permite a visualização de qualquer pasta no disco onde está localizada a pasta raiz.

Modo de explorar:
http://localhost/browse?path=%2f..%2f..%2f

Buffer-overflow nas funções browse, download e load functions:
A funções Browse(), CControl::Download() e CControl::Load() são afetadas por algum buffer causado pela criação de uma string contendo o diretório raiz mais a string de caminho recebida pelo cliente usando um buffer de somente MAX_PATH bytes (260, o mesmo tamanho da string do cliente).

Modo de explorar:
http://localhost/dl?file=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaa

Baixando arquivos de qualquer extensão:
O Wawi tem a opção de download de alguns tipos de arquivos, por alguns usuários com a permissão de download. Na seção "Music Collections" da configuração do Wawi, podemos achar duas formas de permitir a visualização ou download dos arquivos Winamp entre outros.

CControl::Download() chama a função isWinampFile() para verificar se os arquivos requisitados são suportados pelo Winamp e então permite o download se a opção relatada foi selecionada.

Um ponto depois do arquivo requisitado permitirá um atacante com a permissão de "Download" a baixar qualquer arquivo de qualquer extensão localizado no diretório raiz.

As informações acima foram cedidas por Luigi Auriemma do autistici.org




Fonte: Eu escrevi

Comentários

Deixe seu Comentário

URL Fonte: https://infoguerra.com.br/noticia/1589/visualizar/