
O ataque de Adulteração de Parâmetros Web se baseia na manipulação de parâmetros trocados entre cliente e servidor, a fim de modificar os dados do aplicativo, tais como credenciais de usuários e permissões, preço e quantidade de produtos, etc. Normalmente, essas informações são armazenadas em cookies, forma oculta campos, ou sequências de consulta de URL e é usada para aumentar a funcionalidade e controle de aplicativos.
Este ataque pode ser executado por um usuário mal-intencionado que quer explorar a aplicação em seu próprio benefício, ou um atacante que deseja atacar uma terceira pessoa usando um ataque Man-in-the-middle. Em ambos os casos, as ferramentas gostam de WebScarab e Paros Proxy que são utilizados principalmente.
O sucesso de ataque depende da integridade e validação de erros mecanismo de lógica, e sua exploração pode resultar em outras conseqüências, incluindo XSS, Injeção SQL, inclusão de arquivos, e os ataques de divulgação de caminho.
Para um pequeno vídeo que descreve a vulnerabilidade: http://www.youtube.com/watch?v=l5LCDEDn7FY&hd=1 (Cortesia de Checkmarx)
Exemplos
Exemplo 1 ~
A modificação dos parâmetros dos campos de formulário pode ser considerado como um exemplo típico do ataque de adulteração de parâmetros.
Por exemplo, considere um usuário que pode selecionar valores de campo de formulário (caixa de combinação, caixa, etc cheque) em uma página do aplicativo. Quando esses valores são submetidos pelo usuário, que podem ser adquiridos e arbitrariamente manipulados por um invasor.
Exemplo 2 ~
Quando uma aplicação web usa campos ocultos para armazenar as informações de status, um usuário malicioso pode mexer com os valores armazenados no seu navegador e alterar as informações a que se refere. Por exemplo, um e-commerce site de compras usa campos ocultos para se referir aos seus itens, como segue:
<input type=”hidden” id=”1008” name=”cost” value=”R$ 30,00”>
Nesse exemplo, o atacante pode modificar a informação do valor "value" de um item especificado reduzindo assim o seu custo.
Exemplo 3 ~
Um atacante pode manipular parâmetros de URL diretamente. Por exemplo, considere uma aplicação web que permite que um usuário selecione seu perfil a partir de uma caixa de combinação e de débito na conta:
Outros parâmetros podem ser alterados, incluindo parâmetros de atributo..