
Uma falha no Data Illusion Survey Software Solutions NGSurvey v2.4.28 e versões anteriores permite que atacantes causem uma Negação de Serviço (DoS) por meio de uma pesquisa manipulada.
ngSurvey versão 2.4.28 e anteriores é vulnerável a Negação de Serviço se uma pesquisa contiver um "Campo de Texto", "Campo de Comentário" ou "Detalhes de Contato". O problema existe porque os campos não incluem um limite de caracteres. Um atacante pode enviar um número infinito de caracteres nos campos. Durante os testes, a aplicação docker travou ao enviar a requisição. A resposta da pesquisa ainda foi submetida em outros casos. Quando o administrador do ngSurvey tenta visualizar os dados do respondente ou realizar uma exportação, o navegador da web utiliza uma quantidade excessiva de RAM ou o servidor retorna um erro interno (500). Tornando os dados da pesquisa inacessíveis, pelo menos pela interface web. Mesmo que o administrador do ngSurvey defina um limite de caracteres na resposta, o exploit ainda é possível porque a verificação é realizada apenas no navegador do lado do cliente.
Notas: A pergunta "slider" também pode ser vulnerável com um número inteiro grande em vez de uma string. Não pôde ser confirmado no meu ambiente local.
dospayload (qualquer outra coisa funcionará, mas usarei esta string para demonstração).import requests, adicione o seguinte código dospayload= "A" * 123456789.burp0_json. Será algo como "value" : "dospayload"."value" : dospayload.O código final deve ficar assim:

Não encontrei uma forma de diferenciar campos de texto ou comentário de outros tipos de respostas (escolha única, lista suspensa, etc...). Acredito que eles são identificados pela aplicação pelo seu ID. Se você encontrar uma forma de fazer um script funcional que receba uma URL como entrada e execute os passos de exploração, ficarei feliz em referenciá-lo.