1.3.3 • Published 4 months ago

hpp-sanitize v1.3.3

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

HPP-Sanitize

O objetivo desse middleware é ajudar a combater Ataque de Poluição de Parâmetro HTTP, prevenindo a exposição indevida de informações sensíveis por meio de parâmetros duplicados em URLs.

Como ele funciona?

Quando o middleware recebe uma requisição, ele verifica a presença de parâmetros duplicados em request.body, request.query, request.params ou request.headers.

Por exemplo:

https://dominio.com.br?cliente=1&cliente=1&cliente=1

Esse tipo de situação pode causar comportamentos inesperados e expor dados que não deveriam ser acessíveis.

Com o middleware, a sanitização é realizada removendo parâmetros duplicados e gerando um log de aviso sempre que uma tentativa de ataque é detectada.

Se block: true estiver ativo (padrão), a requisição será bloqueada e um log de aviso informará a tentativa de ataque junto com o IP do possível atacante.

Se block: false estiver ativo, a requisição não será bloqueada, mas os parâmetros duplicados serão sanitizados e um log de aviso registrará a tentativa de ataque e o IP do possível atacante.

Instalaçao

Instale o pacote utilizando o NPM:

npm install hpp-sanitize 

Como usá-lo?

Após a instalação, basta importar e usar o middleware no seu aplicativo Express.

import { hppSanitize } from 'hpp-sanitize';

app.use(hppSanitize());

Também é possivel desativar o bloqueio, permitindo que apenas um parâmetro seja mantido e registrando um aviso de possível ataque.

Se optar por essa configuração, certifique-se de validar os dados conforme sua necessidade para evitar vulnerabilidades inesperadas.

app.use(hppSanitize({ block: false }))

Gostaria de contribuir

  • Crie uma branch com o nome da sua proposta e envie um pull request para análise.

Bugs

  • Se encontrar algum bug, abra uma issue no github para que possamos analisá-lo.

ChangeLog

Para ver as versões e notas de release, acesse a página de Releases.

Licença

Este projeto é licenciado sob a licença MIT.

1.3.3

4 months ago

1.3.2

4 months ago

1.3.1

4 months ago

1.3.0

4 months ago

1.2.4

4 months ago

1.2.3

4 months ago

1.2.2

4 months ago

1.2.1

4 months ago

1.2.0

4 months ago

1.1.0

4 months ago

1.0.5

4 months ago

1.0.4

4 months ago

1.0.3

4 months ago

1.0.2

4 months ago

1.0.0

4 months ago