如何检测CSRF漏洞

mar*_*oxe 2 security csrf

给定一个网站,如何检测潜在的 CSRF 漏洞?

提前致谢

Sil*_*Fox 5

这是CSRF攻击:-

www.evil.com诱使受害者浏览的 页面包含以下代码:-

<form method="post" action="https://www.example.com/executeAction">
    <input type="hidden" name="action" value="deleteAllUsers">
</form>

<script>document.forms[0].submit()</script>
Run Code Online (Sandbox Code Playgroud)

当受害者www.example.com以管理员用户身份登录到您的网站 ( ) 时,表单提交将起作用,并且所有用户都会从您的系统中删除。

同步器令牌模式是修复此漏洞的推荐方法。当合法用户将其加载到您的网站时,这将在您的表单中添加一个加密的安全随机字符串(称为令牌),该字符串已存储在服务器端并与用户会话配对。提交表单后,您的系统将检查 POSTed 令牌是否与预期相符。任何攻击者都无法从您的站点读取令牌,因为任何跨站点访问都受到同源策略的保护。

网络安全扫描器通常可以检测您网站上的此类漏洞。您可以通过检查浏览器机制提交的表单来手动检查它们是否包含令牌字段。但是,AJAX 提交可以使用其他方法,例如headerOriginX-Requested-With.