Pesquisa sensacional lengo
e eu até reportei aqui no privado com o meu irmão que alguém estava fazendo um fuzzing attack
, então era você 🤝 (ou eu acho que era você), segue uma amostra:
Quantidade de POST
com 400
como resposta (2.000 requests em 2 minutos):
Revisando 3 pontos apenas:
Header access-control-allow-Origin com valor curinga (*)
Acredito que isso irá continuar, dado que precisa ser assim para ser possível qualquer pessoa construir o seu próprio client que use a API do TabNews.
Páginas sensíveis que podem ser armazenadas em cache
Estranho esse report, dado que essas páginas não aceitam nenhuma query string (como apontado nas URLs de exemplo). E se adicionar o cabeçalho, perde-se o cache do estático, mas podemos adicionar sim 🤝
Campo de senha enviado usando o método GET
Na verdade ele faz um POST
contra o endpoint /api/v1/sessions
no caso do Login e POST
contra /api/v1/users
no caso de Cadastro. Por exemplo:
const response = await fetch(`/api/v1/sessions`, {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: email,
password: password,
}),
});
Caso tenha acesso ao repositório: https://github.com/filipedeschamps/tabnews.com.br/blob/1976143fd9d1e0c1fa91524cf9708f425087d8f9/pages/login/index.public.js#L48-L58
(Caso não tenha, peço que envie seu username do Github para o email contato /arroba/ tabnews.com.br
)
Talvez o que possa estar acontecendo é que Acunetix não está considerando que a aplicação em React faz o "sequestro" do form
.
Do resto, realmente sensacional e faz total sentido! Vamos implementar os ajustes e deixar esse espaço o mais seguro possível! E o que mais podemos testar? 🤝